[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1761201820-923638-1-git-send-email-tariqt@nvidia.com>
Date: Thu, 23 Oct 2025 09:43:33 +0300
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>, "Carolina
Jubran" <cjubran@...dia.com>, Dragos Tatulea <dtatulea@...dia.com>
Subject: [PATCH net-next 0/7] net/mlx5e: Reduce interface downtime on configuration change
Hi,
This series significantly reduces the interface downtime while swapping
channels during a configuration change, on capable devices.
Here we remove an old requirement on operations ordering that became
obsolete on recent capable devices. This helps cutting the downtime by a
factor of magnitude, ~80% in our example.
Perf numbers:
Measured the number of dropped packets in a simple ping flood test,
during a configuration change operation, that switches the number of
channels from 247 to 248.
Before: 71 packets lost
After: 15 packets lost, ~80% saving.
Regards,
Tariq
Tariq Toukan (7):
net/mlx5e: Enhance function structures for self loopback prevention
application
net/mlx5e: Use TIR API in mlx5e_modify_tirs_lb()
net/mlx5e: Allow setting self loopback prevention bits on TIR init
net/mlx5: IPoIB, set self loopback prevention in TIR init
net/mlx5e: Do not re-apply TIR loopback configuration if not necessary
net/mlx5e: Pass old channels as argument to mlx5e_switch_priv_channels
net/mlx5e: Defer channels closure to reduce interface down time
drivers/net/ethernet/mellanox/mlx5/core/en.h | 4 +-
.../net/ethernet/mellanox/mlx5/core/en/rss.c | 2 +
.../net/ethernet/mellanox/mlx5/core/en/rss.h | 1 +
.../ethernet/mellanox/mlx5/core/en/rx_res.c | 7 +++
.../ethernet/mellanox/mlx5/core/en/rx_res.h | 1 +
.../net/ethernet/mellanox/mlx5/core/en/tir.c | 29 ++++++++++--
.../net/ethernet/mellanox/mlx5/core/en/tir.h | 3 ++
.../ethernet/mellanox/mlx5/core/en_common.c | 46 +++++++++----------
.../net/ethernet/mellanox/mlx5/core/en_main.c | 31 +++++++++----
.../ethernet/mellanox/mlx5/core/en_selftest.c | 4 +-
.../ethernet/mellanox/mlx5/core/ipoib/ipoib.c | 7 ++-
11 files changed, 94 insertions(+), 41 deletions(-)
base-commit: d550d63d0082268a31e93a10c64cbc2476b98b24
--
2.31.1
Powered by blists - more mailing lists