Hi, this time we're on Tx side of AF_XDP and we touch i40e and ice drivers. Unfortunately, similar scalability issues that were addressed for XDP processing in ice, exist on AF_XDP side. Let's resolve them in mostly the same way as we did on [0]. Magnus moves the array of Tx descriptors that is used with batching approach to the xsk buffer pool. This means that future users of this API will not have carry the array on their own side, they can simple refer to pool's tx_desc array, which can be seen on patch from Magnus. Described patch is based on i40e as it is the only user of this API. Tx batching is still left to be tried out for ice, though. Thanks, Magnus & Maciej [0]: https://lore.kernel.org/bpf/20211015162908.145341-8-anthony.l.nguyen@xxxxxxxxx/ Maciej Fijalkowski (2): ice: xsk: improve AF_XDP ZC Tx side ice: xsk: borrow xdp_tx_active logic from i40e Magnus Karlsson (1): i40e: xsk: move tmp desc array from driver to pool drivers/net/ethernet/intel/i40e/i40e_txrx.c | 11 -- drivers/net/ethernet/intel/i40e/i40e_txrx.h | 1 - drivers/net/ethernet/intel/i40e/i40e_xsk.c | 4 +- drivers/net/ethernet/intel/ice/ice_txrx.c | 2 +- drivers/net/ethernet/intel/ice/ice_txrx.h | 3 +- drivers/net/ethernet/intel/ice/ice_txrx_lib.c | 1 + drivers/net/ethernet/intel/ice/ice_xsk.c | 138 ++++++++++-------- drivers/net/ethernet/intel/ice/ice_xsk.h | 5 +- include/net/xdp_sock_drv.h | 5 +- include/net/xsk_buff_pool.h | 1 + net/xdp/xsk.c | 13 +- net/xdp/xsk_buff_pool.c | 7 + net/xdp/xsk_queue.h | 12 +- 13 files changed, 106 insertions(+), 97 deletions(-) -- 2.33.1