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

Eelco Chaudron echaudro at redhat.com
Fri Sep 27 11:13:18 UTC 2019

On 26 Sep 2019, at 21:29, William Tu 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.
> Suggested-by: Ilya Maximets <i.maximets at ovn.org>
> Signed-off-by: William Tu <u9012063 at gmail.com>

Did a quick test, and all works fine. Acke’ed based on previous review 
and delta…

Acked-by: Eelco Chaudron <echaudro at redhat.com>

More information about the dev mailing list