public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
From: Tariq Toukan <tariqt@nvidia.com>
To: Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>
Cc: Saeed Mahameed <saeedm@nvidia.com>,
	Leon Romanovsky <leon@kernel.org>,
	Tariq Toukan <tariqt@nvidia.com>, Mark Bloch <mbloch@nvidia.com>,
	<netdev@vger.kernel.org>, <linux-rdma@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, Gal Pressman <gal@nvidia.com>,
	William Tu <witu@nvidia.com>, <toke@redhat.com>
Subject: [PATCH net-next V2 0/4] net/mlx5e: Save per-channel async ICOSQ in default
Date: Wed, 14 Jan 2026 09:46:36 +0200	[thread overview]
Message-ID: <1768376800-1607672-1-git-send-email-tariqt@nvidia.com> (raw)

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


             reply	other threads:[~2026-01-14  7:48 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-14  7:46 Tariq Toukan [this message]
2026-01-14  7:46 ` [PATCH net-next V2 1/4] net/mlx5e: Move async ICOSQ lock into ICOSQ struct Tariq Toukan
2026-01-14  7:46 ` [PATCH net-next V2 2/4] net/mlx5e: Use regular ICOSQ for triggering NAPI Tariq Toukan
2026-01-14  7:46 ` [PATCH net-next V2 3/4] net/mlx5e: Move async ICOSQ to dynamic allocation Tariq Toukan
2026-01-14  7:46 ` [PATCH net-next V2 4/4] net/mlx5e: Conditionally create async ICOSQ Tariq Toukan
2026-01-19 21:00 ` [PATCH net-next V2 0/4] net/mlx5e: Save per-channel async ICOSQ in default patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1768376800-1607672-1-git-send-email-tariqt@nvidia.com \
    --to=tariqt@nvidia.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=gal@nvidia.com \
    --cc=kuba@kernel.org \
    --cc=leon@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=mbloch@nvidia.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=saeedm@nvidia.com \
    --cc=toke@redhat.com \
    --cc=witu@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox