bpf.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v4 00/10] virtio-net support xdp socket zero copy xmit
@ 2021-04-13  3:15 Xuan Zhuo
  2021-04-13  3:15 ` [PATCH net-next v4 01/10] netdevice: priv_flags extend to 64bit Xuan Zhuo
                   ` (9 more replies)
  0 siblings, 10 replies; 21+ messages in thread
From: Xuan Zhuo @ 2021-04-13  3:15 UTC (permalink / raw)
  To: netdev
  Cc: Michael S. Tsirkin, Jason Wang, David S. Miller, Jakub Kicinski,
	Björn Töpel, Magnus Karlsson, Jonathan Lemon,
	Alexei Starovoitov, Daniel Borkmann, Jesper Dangaard Brouer,
	John Fastabend, virtualization, bpf, dust . li

XDP socket is an excellent by pass kernel network transmission framework. The
zero copy feature of xsk (XDP socket) needs to be supported by the driver. The
performance of zero copy is very good. mlx5 and intel ixgbe already support this
feature, This patch set allows virtio-net to support xsk's zerocopy xmit
feature.

And xsk's zerocopy rx has made major changes to virtio-net, and I hope to submit
it after this patch set are received.

Compared with other drivers, virtio-net does not directly obtain the dma
address, so I first obtain the xsk page, and then pass the page to virtio.

When recycling the sent packets, we have to distinguish between skb and xdp.
Now we have to distinguish between skb, xdp, xsk.

---------------- Performance Testing ------------

The udp package tool implemented by the interface of xsk vs sockperf(kernel udp)
for performance testing:

xsk zero copy xmit in virtio-net:
CPU        PPS         MSGSIZE    vhost-cpu
7.9%       511804      64         100%
13.3%%     484373      1500       100%

sockperf:
CPU        PPS         MSGSIZE    vhost-cpu
100%       375227      64         89.1%
100%       307322      1500       81.5%

v4:
    1. add priv_flags IFF_NOT_USE_DMA_ADDR
    2. more reasonable patch split


Xuan Zhuo (10):
  netdevice: priv_flags extend to 64bit
  netdevice: add priv_flags IFF_NOT_USE_DMA_ADDR
  virtio-net: add priv_flags IFF_NOT_USE_DMA_ADDR
  xsk: support get page by addr
  xsk: XDP_SETUP_XSK_POOL support option IFF_NOT_USE_DMA_ADDR
  virtio-net: unify the code for recycling the xmit ptr
  virtio-net: virtnet_poll_tx support budget check
  virtio-net: xsk zero copy xmit setup
  virtio-net: xsk zero copy xmit implement wakeup and xmit
  virtio-net: xsk zero copy xmit kick by threshold

 drivers/net/virtio_net.c   | 479 ++++++++++++++++++++++++++++++++-----
 include/linux/netdevice.h  | 139 ++++++-----
 include/net/xdp_sock_drv.h |  11 +
 net/xdp/xsk_buff_pool.c    |   2 +-
 4 files changed, 511 insertions(+), 120 deletions(-)

--
2.31.0


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2021-04-14  7:52 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-13  3:15 [PATCH net-next v4 00/10] virtio-net support xdp socket zero copy xmit Xuan Zhuo
2021-04-13  3:15 ` [PATCH net-next v4 01/10] netdevice: priv_flags extend to 64bit Xuan Zhuo
2021-04-13 18:26   ` Jakub Kicinski
2021-04-13  3:15 ` [PATCH net-next v4 02/10] netdevice: add priv_flags IFF_NOT_USE_DMA_ADDR Xuan Zhuo
2021-04-13  3:15 ` [PATCH net-next v4 03/10] virtio-net: " Xuan Zhuo
2021-04-13  3:15 ` [PATCH net-next v4 04/10] xsk: support get page by addr Xuan Zhuo
2021-04-14  6:59   ` Magnus Karlsson
2021-04-13  3:15 ` [PATCH net-next v4 05/10] xsk: XDP_SETUP_XSK_POOL support option IFF_NOT_USE_DMA_ADDR Xuan Zhuo
2021-04-14  7:00   ` Magnus Karlsson
2021-04-13  3:15 ` [PATCH net-next v4 06/10] virtio-net: unify the code for recycling the xmit ptr Xuan Zhuo
2021-04-14  3:32   ` Jason Wang
2021-04-13  3:15 ` [PATCH net-next v4 07/10] virtio-net: virtnet_poll_tx support budget check Xuan Zhuo
2021-04-14  3:34   ` Jason Wang
2021-04-13  3:15 ` [PATCH net-next v4 08/10] virtio-net: xsk zero copy xmit setup Xuan Zhuo
2021-04-14  4:01   ` Jason Wang
2021-04-14  7:36   ` Magnus Karlsson
2021-04-14  7:51     ` Jason Wang
2021-04-13  3:15 ` [PATCH net-next v4 09/10] virtio-net: xsk zero copy xmit implement wakeup and xmit Xuan Zhuo
2021-04-14  5:46   ` Jason Wang
2021-04-13  3:15 ` [PATCH net-next v4 10/10] virtio-net: xsk zero copy xmit kick by threshold Xuan Zhuo
2021-04-14  5:51   ` Jason Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).