[PATCH net-next 0/4] xsk: the lost bits from Chapter III

Alexander Lobakin
2025-02-06T18:30:25Z

Before introducing libeth_xdp, we need to add a couple more generic
helpers. Notably:

* 01: add generic loop unrolling hint helpers;
* 04: add helper to get both xdp_desc's DMA address and metadata
pointer in one go, saving several cycles and hotpath object
code size in drivers (especially when unrolling).

Bonus:

* 02, 03: convert two drivers which were using custom macros to
generic unrolled_count() (trivial, no object code changes).

Alexander Lobakin (4):
unroll: add generic loop unroll helpers
i40e: use generic unrolled_count() macro
ice: use generic unrolled_count() macro
xsk: add helper to get &xdp_desc's DMA and meta pointer in one go

drivers/net/ethernet/intel/i40e/i40e_xsk.h | 10 +----
drivers/net/ethernet/intel/ice/ice_xsk.h | 8 ----
include/linux/unroll.h | 44 +++++++++++++++++++++
include/net/xdp_sock_drv.h | 43 ++++++++++++++++++--
include/net/xsk_buff_pool.h | 8 ++++
drivers/net/ethernet/intel/i40e/i40e_xsk.c | 4 +-
drivers/net/ethernet/intel/ice/ice_xsk.c | 4 +-
net/xdp/xsk_buff_pool.c | 46 ++++++++++++++++++++--
8 files changed, 141 insertions(+), 26 deletions(-)

---
Note: 04 had reviews already; in this series, I reused the existing
helpers instead of copying them and eliminated the compound
assignment in favor of a field-by-field one, which generates
the same Asm code (requested by Jakub).
--
2.48.1