Subject: [PATCH net-next 00/16] mlx5 xsk updates part2 2022-09-28

From: Saeed Mahameed <[email-masked]>
Date: Thu, 29 Sep 2022 00:21:40 -0700

From: Saeed Mahameed <[email-masked]>

XSK buffer improvements, This is part #2 of 4 parts series.

 1) Expose xsk min chunk size to drivers, to allow the driver to adjust to a
   better buffer stride size

 2) Adjust MTT page size to the XSK frame size, to avoid umem overrun in
  certain situations.

 3) Use xsk frame size as the striding RQ page size for XSK RQs

 4) KSM for unaligned XSK, KSM allows arbitrary buffer chunk lengths
    registration in HW, which makes more sense for unaligned XSK.

 4) More cleanups and optimizations in preparation for next improvements
    in part3

part 1: https://lore.kernel.org/netdev/[email-masked]/

Thanks,
Saeed.

Maxim Mikityanskiy (16):
  xsk: Expose min chunk size to drivers
  net/mlx5e: Use runtime page_shift for striding RQ
  net/mlx5e: xsk: Use XSK frame size as striding RQ page size
  net/mlx5e: Keep a separate MKey for striding RQ
  net/mlx5: Add MLX5_FLEXIBLE_INLEN to safely calculate cmd inlen
  net/mlx5e: xsk: Use KSM for unaligned XSK
  xsk: Remove unused xsk_buff_discard
  net/mlx5e: Fix calculations for ICOSQ size
  net/mlx5e: Optimize the page cache reducing its size 2x
  net/mlx5e: Rename mlx5e_dma_info to prepare for removal of DMA address
  net/mlx5e: Remove DMA address from mlx5e_alloc_unit
  net/mlx5e: Convert struct mlx5e_alloc_unit to a union
  net/mlx5e: xsk: Remove mlx5e_xsk_page_alloc_pool
  net/mlx5e: Split out channel (de)activation in rx_res
  net/mlx5e: Move repeating clear_bit in
    mlx5e_rx_reporter_err_rq_cqe_recover
  net/mlx5e: Clean up and fix error flows in mlx5e_alloc_rq

 drivers/net/ethernet/mellanox/mlx5/core/en.h  |  72 +++--
 .../ethernet/mellanox/mlx5/core/en/params.c   | 299 +++++++++++++++---
 .../ethernet/mellanox/mlx5/core/en/params.h   |  17 +-
 .../mellanox/mlx5/core/en/reporter_rx.c       |   7 +-
 .../ethernet/mellanox/mlx5/core/en/rx_res.c   | 106 +++----
 .../ethernet/mellanox/mlx5/core/en/xsk/pool.c |   1 +
 .../ethernet/mellanox/mlx5/core/en/xsk/rx.c   |   4 +-
 .../ethernet/mellanox/mlx5/core/en/xsk/rx.h   |  31 --
 .../mellanox/mlx5/core/en/xsk/setup.c         |  13 +-
 .../ethernet/mellanox/mlx5/core/en_ethtool.c  |   8 +-
 .../net/ethernet/mellanox/mlx5/core/en_main.c | 188 +++++++----
 .../net/ethernet/mellanox/mlx5/core/en_rx.c   | 253 +++++++++------
 .../ethernet/mellanox/mlx5/core/mlx5_core.h   |  30 ++
 include/linux/mlx5/qp.h                       |   8 +
 include/net/xdp_sock_drv.h                    |  10 +-
 net/xdp/xdp_umem.c                            |   2 -
 16 files changed, 683 insertions(+), 366 deletions(-)

-- 
2.37.3