[PATCH net-next 0/3] net/mlx5e: Improve channel creation time via fast-path MKEY initialization

Tariq Toukan posted 3 patches 2 weeks, 4 days ago
drivers/net/ethernet/mellanox/mlx5/core/en.h  |  11 +-
.../net/ethernet/mellanox/mlx5/core/en/txrx.h |   1 +
.../net/ethernet/mellanox/mlx5/core/en_main.c | 263 +++++++++++++-----
.../net/ethernet/mellanox/mlx5/core/en_rx.c   |   9 +-
4 files changed, 212 insertions(+), 72 deletions(-)
[PATCH net-next 0/3] net/mlx5e: Improve channel creation time via fast-path MKEY initialization
Posted by Tariq Toukan 2 weeks, 4 days ago
Hi,

This series improves channel creation time by moving per-channel MKEY
initialization from a slow-path FW command to a fast-path UMR WQE.

The benefit becomes more significant with larger MKEYs and a higher
number of channels.

On my setup with the maximum configuration (248 channels, MTU 9000,
RX/TX ring size 8K), the "interface up" operation is 2.081 seconds
faster:

Before: 5.618 seconds
After:  3.537 seconds

This corresponds to ~8.4 msec saved per channel.

Regards,
Tariq

Tariq Toukan (3):
  net/mlx5e: Move RX MPWQE slowpath fields into a separate struct
  net/mlx5e: RX, Pre-calculate pad value in MPWQE
  net/mlx5e: Speed up channel creation by initializing MKEY entries via
    UMR WQE

 drivers/net/ethernet/mellanox/mlx5/core/en.h  |  11 +-
 .../net/ethernet/mellanox/mlx5/core/en/txrx.h |   1 +
 .../net/ethernet/mellanox/mlx5/core/en_main.c | 263 +++++++++++++-----
 .../net/ethernet/mellanox/mlx5/core/en_rx.c   |   9 +-
 4 files changed, 212 insertions(+), 72 deletions(-)


base-commit: a7fb05cbb8f989fa5a81818be9680464cff9d717
-- 
2.44.0
Re: [PATCH net-next 0/3] net/mlx5e: Improve channel creation time via fast-path MKEY initialization
Posted by Simon Horman 2 weeks, 3 days ago
On Thu, Mar 19, 2026 at 09:43:35AM +0200, Tariq Toukan wrote:
> Hi,
> 
> This series improves channel creation time by moving per-channel MKEY
> initialization from a slow-path FW command to a fast-path UMR WQE.
> 
> The benefit becomes more significant with larger MKEYs and a higher
> number of channels.
> 
> On my setup with the maximum configuration (248 channels, MTU 9000,
> RX/TX ring size 8K), the "interface up" operation is 2.081 seconds
> faster:
> 
> Before: 5.618 seconds
> After:  3.537 seconds
> 
> This corresponds to ~8.4 msec saved per channel.
> 
> Regards,
> Tariq
> 
> Tariq Toukan (3):
>   net/mlx5e: Move RX MPWQE slowpath fields into a separate struct
>   net/mlx5e: RX, Pre-calculate pad value in MPWQE
>   net/mlx5e: Speed up channel creation by initializing MKEY entries via
>     UMR WQE

Thanks,

For the series:

Reviewed-by: Simon Horman <horms@kernel.org>