[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1768376800-1607672-1-git-send-email-tariqt@nvidia.com>
Date: Wed, 14 Jan 2026 09:46:36 +0200
From: Tariq Toukan <tariqt@...dia.com>
To: Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, Andrew Lunn <andrew+netdev@...n.ch>, "David
S. Miller" <davem@...emloft.net>
CC: Saeed Mahameed <saeedm@...dia.com>, Leon Romanovsky <leon@...nel.org>,
Tariq Toukan <tariqt@...dia.com>, Mark Bloch <mbloch@...dia.com>,
<netdev@...r.kernel.org>, <linux-rdma@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, Gal Pressman <gal@...dia.com>, William Tu
<witu@...dia.com>, <toke@...hat.com>
Subject: [PATCH net-next V2 0/4] net/mlx5e: Save per-channel async ICOSQ in default
Hi,
This is V2, find V1 here:
https://lore.kernel.org/all/1762939749-1165658-1-git-send-email-tariqt@nvidia.com/
This series by William reduces the default number of SQs in a channel
from 3 down to 2, by not creating the async ICOSQ (asynchronous
internal-communication-operations send-queue).
This significantly improves the latency of channel configuration
operations, like interface up (create channels), interface down (destroy
channels), and channels reconfiguration (create new set, destroy old
one).
This reduces the per-channel memory usage, saves hardware resources, in
addition to the improved latency.
This significantly speeds up the setup/config stage on systems with high
number of channels or many netdevs, in particular systems with hundreds
or K's of SFs.
The two remaining default SQs per channel after this series:
1 TXQ SQ (for traffic), and 1 ICOSQ (for internal communication
operations with the device).
Perf numbers:
NIC: Connect-X7.
Test: Latency of interface up + down operations.
Measured 20% speedup.
Saving ~0.36 sec for 248 channels (~1.45 msec per channel).
Regards,
Tariq
V2:
- Drop accepted parts (patches 5-6).
- Patch 2:
Add conditional locking justification in commit message.
Remove in_softirq() optimization.
- Patch 4:
Simple code enhancements.
Update commit message.
William Tu (4):
net/mlx5e: Move async ICOSQ lock into ICOSQ struct
net/mlx5e: Use regular ICOSQ for triggering NAPI
net/mlx5e: Move async ICOSQ to dynamic allocation
net/mlx5e: Conditionally create async ICOSQ
drivers/net/ethernet/mellanox/mlx5/core/en.h | 26 ++++-
.../mellanox/mlx5/core/en/reporter_tx.c | 1 +
.../ethernet/mellanox/mlx5/core/en/xsk/rx.c | 3 +
.../ethernet/mellanox/mlx5/core/en/xsk/tx.c | 6 +-
.../mellanox/mlx5/core/en_accel/ktls.c | 10 +-
.../mellanox/mlx5/core/en_accel/ktls_rx.c | 26 ++---
.../mellanox/mlx5/core/en_accel/ktls_txrx.h | 3 +-
.../net/ethernet/mellanox/mlx5/core/en_main.c | 100 +++++++++++++-----
.../net/ethernet/mellanox/mlx5/core/en_rx.c | 4 +
.../net/ethernet/mellanox/mlx5/core/en_txrx.c | 37 ++++---
10 files changed, 154 insertions(+), 62 deletions(-)
base-commit: 3b194343c25084a8d2fa0c0f2c9e80f3080fd732
--
2.31.1
Powered by blists - more mailing lists