On Mon, May 08, 2023 at 02:14:02PM +0800, Xuan Zhuo wrote: > 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. Series: Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> > v5: > 1. replace "double counting" by "code duplication" > > 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 code duplication 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