xdp_return_frame/xdp_return_frame_napi and page_pool_put_page are usually run inside the driver NAPI tx completion loop so it is possible batch them. Introduce bulking capability in xdp tx return path (XDP_TX and XDP_REDIRECT). Convert mvneta driver to xdp_return_frame_bulk APIs. mvneta upstream code: XDP_TX: ~296Kpps XDP_REDIRECT: ~273Kpps mvneta + xdp_return_frame_bulk APIs: XDP_TX: ~303Kpps XDP_REDIRECT: ~287Kpps Lorenzo Bianconi (2): net: xdp: introduce bulking for xdp tx return path net: page_pool: add bulk support for ptr_ring drivers/net/ethernet/marvell/mvneta.c | 8 ++--- include/net/page_pool.h | 21 ++++++++++++ include/net/xdp.h | 11 ++++++ net/core/page_pool.c | 37 ++++++++++++++++++++ net/core/xdp.c | 49 +++++++++++++++++++++++++++ 5 files changed, 122 insertions(+), 4 deletions(-) -- 2.26.2