netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v4 00/15] virtio_net: refactor xdp codes
@ 2023-04-27  3:05 Xuan Zhuo
  2023-04-27  3:05 ` [PATCH net-next v4 01/15] virtio_net: mergeable xdp: put old page immediately Xuan Zhuo
                   ` (15 more replies)
  0 siblings, 16 replies; 19+ messages in thread
From: Xuan Zhuo @ 2023-04-27  3:05 UTC (permalink / raw)
  To: netdev
  Cc: Michael S. Tsirkin, Jason Wang, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Alexei Starovoitov, Daniel Borkmann,
	Jesper Dangaard Brouer, John Fastabend, virtualization, bpf

Due to historical reasons, the implementation of XDP in virtio-net is relatively
chaotic. For example, the processing of XDP actions has two copies of similar
code. Such as page, xdp_page processing, etc.

The purpose of this patch set is to refactor these code. Reduce the difficulty
of subsequent maintenance. Subsequent developers will not introduce new bugs
because of some complex logical relationships.

In addition, the supporting to AF_XDP that I want to submit later will also need
to reuse the logic of XDP, such as the processing of actions, I don't want to
introduce a new similar code. In this way, I can reuse these codes in the
future.

Please review.

Thanks.

v2:
    1. re-split to make review more convenient

v1:
    1. fix some variables are uninitialized



Xuan Zhuo (15):
  virtio_net: mergeable xdp: put old page immediately
  virtio_net: introduce mergeable_xdp_get_buf()
  virtio_net: optimize mergeable_xdp_get_buf()
  virtio_net: introduce virtnet_xdp_handler() to seprate the logic of
    run xdp
  virtio_net: separate the logic of freeing xdp shinfo
  virtio_net: separate the logic of freeing the rest mergeable buf
  virtio_net: virtnet_build_xdp_buff_mrg() auto release xdp shinfo
  virtio_net: introduce receive_mergeable_xdp()
  virtio_net: merge: remove skip_xdp
  virtio_net: introduce receive_small_xdp()
  virtio_net: small: remove the delta
  virtio_net: small: avoid double counting in xdp scenarios
  virtio_net: small: remove skip_xdp
  virtio_net: introduce receive_small_build_xdp
  virtio_net: introduce virtnet_build_skb()

 drivers/net/virtio_net.c | 657 +++++++++++++++++++++++----------------
 1 file changed, 384 insertions(+), 273 deletions(-)

-- 
2.32.0.3.g01195cf9f


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

end of thread, other threads:[~2023-04-28  1:54 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-27  3:05 [PATCH net-next v4 00/15] virtio_net: refactor xdp codes Xuan Zhuo
2023-04-27  3:05 ` [PATCH net-next v4 01/15] virtio_net: mergeable xdp: put old page immediately Xuan Zhuo
2023-04-27  3:05 ` [PATCH net-next v4 02/15] virtio_net: introduce mergeable_xdp_get_buf() Xuan Zhuo
2023-04-27  3:05 ` [PATCH net-next v4 03/15] virtio_net: optimize mergeable_xdp_get_buf() Xuan Zhuo
2023-04-27  3:05 ` [PATCH net-next v4 04/15] virtio_net: introduce virtnet_xdp_handler() to seprate the logic of run xdp Xuan Zhuo
2023-04-27  3:05 ` [PATCH net-next v4 05/15] virtio_net: separate the logic of freeing xdp shinfo Xuan Zhuo
2023-04-27  3:05 ` [PATCH net-next v4 06/15] virtio_net: separate the logic of freeing the rest mergeable buf Xuan Zhuo
2023-04-27  3:05 ` [PATCH net-next v4 07/15] virtio_net: virtnet_build_xdp_buff_mrg() auto release xdp shinfo Xuan Zhuo
2023-04-27  3:05 ` [PATCH net-next v4 08/15] virtio_net: introduce receive_mergeable_xdp() Xuan Zhuo
2023-04-27  3:05 ` [PATCH net-next v4 09/15] virtio_net: merge: remove skip_xdp Xuan Zhuo
2023-04-27  3:05 ` [PATCH net-next v4 10/15] virtio_net: introduce receive_small_xdp() Xuan Zhuo
2023-04-27  3:05 ` [PATCH net-next v4 11/15] virtio_net: small: remove the delta Xuan Zhuo
2023-04-27  3:05 ` [PATCH net-next v4 12/15] virtio_net: small: avoid double counting in xdp scenarios Xuan Zhuo
2023-04-28  1:08   ` Michael S. Tsirkin
2023-04-28  1:54     ` Xuan Zhuo
2023-04-27  3:05 ` [PATCH net-next v4 13/15] virtio_net: small: remove skip_xdp Xuan Zhuo
2023-04-27  3:05 ` [PATCH net-next v4 14/15] virtio_net: introduce receive_small_build_xdp Xuan Zhuo
2023-04-27  3:05 ` [PATCH net-next v4 15/15] virtio_net: introduce virtnet_build_skb() Xuan Zhuo
2023-04-27  6:55 ` [PATCH net-next v4 00/15] virtio_net: refactor xdp codes Paolo Abeni

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).