2024-02-28 18:44:20

by Michael S. Tsirkin

[permalink] [raw]
Subject: Re: [PATCH net-next v2 0/3] tun: AF_XDP Tx zero-copy support

On Wed, Feb 28, 2024 at 07:04:41PM +0800, Yunjian Wang wrote:
> Hi all:
>
> Now, some drivers support the zero-copy feature of AF_XDP sockets,
> which can significantly reduce CPU utilization for XDP programs.
>
> This patch set allows TUN to also support the AF_XDP Tx zero-copy
> feature. It is based on Linux 6.8.0+(openEuler 23.09) and has
> successfully passed Netperf and Netserver stress testing with
> multiple streams between VM A and VM B, using AF_XDP and OVS.
>
> The performance testing was performed on a Intel E5-2620 2.40GHz
> machine. Traffic were generated/send through TUN(testpmd txonly
> with AF_XDP) to VM (testpmd rxonly in guest).
>
> +------+---------+---------+---------+
> | | copy |zero-copy| speedup |
> +------+---------+---------+---------+
> | UDP | Mpps | Mpps | % |
> | 64 | 2.5 | 4.0 | 60% |
> | 512 | 2.1 | 3.6 | 71% |
> | 1024 | 1.9 | 3.3 | 73% |
> +------+---------+---------+---------+
>
> Yunjian Wang (3):
> xsk: Remove non-zero 'dma_page' check in xp_assign_dev
> vhost_net: Call peek_len when using xdp
> tun: AF_XDP Tx zero-copy support


threading broken pls repost.

vhost bits look ok though:

Acked-by: Michael S. Tsirkin <[email protected]>


> drivers/net/tun.c | 177 ++++++++++++++++++++++++++++++++++++++--
> drivers/vhost/net.c | 21 +++--
> include/linux/if_tun.h | 32 ++++++++
> net/xdp/xsk_buff_pool.c | 7 --
> 4 files changed, 220 insertions(+), 17 deletions(-)
>
> --
> 2.41.0