[ovs-dev] [PATCHv5] netdev-afxdp: Add need_wakeup supprt.
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
> 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
> up the kernel RX processing when fill queue is replenished.
> The need_wakeup feature is merged into Linux kernel bpf-next tee with
> 77cd0d7b3f25 ("xsk: add support for need_wakeup flag in AF_XDP rings")
> OVS enables it by default. Running the feature before this version
> xsk bind fails, please use options:use_need_wakeup=false to disable
> 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
Acked-by: Eelco Chaudron <echaudro at redhat.com>
More information about the dev