[ovs-dev] [PATCHv5] netdev-afxdp: Add need_wakeup supprt.

William Tu u9012063 at gmail.com
Thu Oct 17 15:36:17 UTC 2019


On Wed, Oct 16, 2019 at 9:13 AM Loftus, Ciara <ciara.loftus at intel.com> wrote:
>
> >
> > The patch adds support for using need_wakeup flag in AF_XDP rings.
> > A new option, use_need_wakeup, is added. When this option is used,
> > it means that OVS has to explicitly wake up the kernel RX, using poll()
> > syscall and wake up TX, using sendto() syscall. This feature improves
> > the performance by avoiding unnecessary sendto syscalls for TX.
> > For RX, instead of kernel always busy-spinning on fille queue, OVS wakes
> > up the kernel RX processing when fill queue is replenished.
> >
> > The need_wakeup feature is merged into Linux kernel bpf-next tee with
> > commit
> > 77cd0d7b3f25 ("xsk: add support for need_wakeup flag in AF_XDP rings")
> > and
> > OVS enables it by default. Running the feature before this version causes
> > xsk bind fails, please use options:use_need_wakeup=false to disable it.
> > If users enable it but runs in an older version of libbpf, then the
> > need_wakeup feature has no effect, and a warning message is logged.
> >
> > For virtual interface, it's better set use_need_wakeup=false, since
> > the virtual device's AF_XDP xmit is synchronous: the sendto syscall
> > enters kernel and process the TX packet on tx queue directly.
> >
> > On Intel Xeon E5-2620 v3 2.4GHz system, performance of physical port
> > to physical port improves from 6.1Mpps to 7.3Mpps.
>
>
> Hi William,
>
> Thanks for the patch.
> I'm wondering if/how you've pinned the IRQs for the physical ports in the test above.
> Are the IRQs pinned to standalone cores or does the PMD thread share the same core?
> I'd be interested in seeing performance results for both, if you have them.
>
> Thanks,
> Ciara
>

Hi Ciara,

I think this is sharing the same core. I don't have both results.
Let me get back to you later. Thank you!

William


More information about the dev mailing list