> On Tue, 10 Nov 2020 16:37:55 +0100 > Lorenzo Bianconi <lorenzo@xxxxxxxxxx> wrote: > > > XDP bulk APIs introduce a defer/flush mechanism to return > > pages belonging to the same xdp_mem_allocator object > > (identified via the mem.id field) in bulk to optimize > > I-cache and D-cache since xdp_return_frame is usually run > > inside the driver NAPI tx completion loop. > > Convert mvneta, mvpp2 and mlx5 drivers to xdp_return_frame_bulk APIs. > > Series > > Acked-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> > > > Changes since v4: > > - fix comments > > - introduce xdp_frame_bulk_init utility routine > > - compiler annotations for I-cache code layout > > - move rcu_read_lock outside fast-path > > - mlx5 xdp bulking code optimization > > I've done a lot of these changes, and benchmarked them on mlx5, details in[1]. > > [1] https://github.com/xdp-project/xdp-project/blob/master/areas/mem/xdp_bulk_return01.org ops sorry, I forgot to add it to the cover-letter. Regards, Lorenzo > > > Changes since v3: > > - align DEV_MAP_BULK_SIZE to XDP_BULK_QUEUE_SIZE > > - refactor page_pool_put_page_bulk to avoid code duplication > > > > Changes since v2: > > - move mvneta changes in a dedicated patch > > > > Changes since v1: > > - improve comments > > - rework xdp_return_frame_bulk routine logic > > - move count and xa fields at the beginning of xdp_frame_bulk struct > > - invert logic in page_pool_put_page_bulk for loop > > > > Lorenzo Bianconi (5): > > net: xdp: introduce bulking for xdp tx return path > > net: page_pool: add bulk support for ptr_ring > > net: mvneta: add xdp tx return bulking support > > net: mvpp2: add xdp tx return bulking support > > net: mlx5: add xdp tx return bulking support > > > > drivers/net/ethernet/marvell/mvneta.c | 10 ++- > > .../net/ethernet/marvell/mvpp2/mvpp2_main.c | 10 ++- > > .../net/ethernet/mellanox/mlx5/core/en/xdp.c | 22 ++++-- > > include/net/page_pool.h | 26 +++++++ > > include/net/xdp.h | 17 ++++- > > net/core/page_pool.c | 69 ++++++++++++++++--- > > net/core/xdp.c | 54 +++++++++++++++ > > 7 files changed, 191 insertions(+), 17 deletions(-) > > > > > > -- > Best regards, > Jesper Dangaard Brouer > MSc.CS, Principal Kernel Engineer at Red Hat > LinkedIn: http://www.linkedin.com/in/brouer >
Attachment:
signature.asc
Description: PGP signature