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