[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240603212219.1037656-1-tariqt@nvidia.com>
Date: Tue, 4 Jun 2024 00:22:05 +0300
From: Tariq Toukan <tariqt@...dia.com>
To: "David S. Miller" <davem@...emloft.net>, Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, Eric Dumazet <edumazet@...gle.com>
CC: <netdev@...r.kernel.org>, Saeed Mahameed <saeedm@...dia.com>, Gal Pressman
<gal@...dia.com>, Leon Romanovsky <leonro@...dia.com>, Tariq Toukan
<tariqt@...dia.com>
Subject: [PATCH net-next V2 00/14] net/mlx5e: SHAMPO, Enable HW GRO once more
This series enables hardware GRO for ConnectX-7 and newer NICs.
SHAMPO stands for Split Header And Merge Payload Offload.
The first part of the series contains important fixes and improvements.
The second part reworks the HW GRO counters.
Lastly, HW GRO is perf optimized and enabled.
Here are the bandwidth numbers for a simple iperf3 test over a single rq
where the application and irq are pinned to the same CPU:
+---------+--------+--------+-----------+-------------+
| streams | SW GRO | HW GRO | Unit | Improvement |
+---------+--------+--------+-----------+-------------+
| 1 | 36 | 57 | Gbits/sec | 1.6 x |
| 4 | 34 | 50 | Gbits/sec | 1.5 x |
| 8 | 31 | 43 | Gbits/sec | 1.4 x |
+---------+--------+--------+-----------+-------------+
Benchmark details:
VM based setup
CPU: Intel(R) Xeon(R) Platinum 8380 CPU, 24 cores
NIC: ConnectX-7 100GbE
iperf3 and irq running on same CPU over a single receive queue
Series generated against:
commit 83042ce9b7c3 ("Merge branch 'Felix-DSA-probing-cleanup'")
Thanks,
Tariq.
V2:
- Dropped the patch that adds no-split counters, we plan to add in the future
with detailed documentation.
Dragos Tatulea (9):
net/mlx5e: SHAMPO, Fix incorrect page release
net/mlx5e: SHAMPO, Fix invalid WQ linked list unlink
net/mlx5e: SHAMPO, Fix FCS config when HW GRO on
net/mlx5e: SHAMPO, Disable gso_size for non GRO packets
net/mlx5e: SHAMPO, Simplify header page release in teardown
net/mlx5e: SHAMPO, Specialize mlx5e_fill_skb_data()
net/mlx5e: SHAMPO, Make GRO counters more precise
net/mlx5e: SHAMPO, Drop rx_gro_match_packets counter
net/mlx5e: SHAMPO, Coalesce skb fragments to page size
Tariq Toukan (2):
net/mlx5e: SHAMPO, Use net_prefetch API
net/mlx5e: SHAMPO, Add header-only ethtool counters for header data
split
Yoray Zack (3):
net/mlx5e: SHAMPO, Skipping on duplicate flush of the same SHAMPO SKB
net/mlx5e: SHAMPO, Use KSMs instead of KLMs
net/mlx5e: SHAMPO, Re-enable HW-GRO
.../ethernet/mellanox/mlx5/counters.rst | 24 ++-
drivers/net/ethernet/mellanox/mlx5/core/en.h | 22 +-
.../ethernet/mellanox/mlx5/core/en/params.c | 12 +-
.../net/ethernet/mellanox/mlx5/core/en/txrx.h | 19 ++
.../net/ethernet/mellanox/mlx5/core/en_main.c | 71 ++++--
.../net/ethernet/mellanox/mlx5/core/en_rx.c | 202 ++++++++----------
.../ethernet/mellanox/mlx5/core/en_stats.c | 7 +-
.../ethernet/mellanox/mlx5/core/en_stats.h | 6 +-
include/linux/mlx5/device.h | 1 +
include/linux/mlx5/mlx5_ifc.h | 16 +-
10 files changed, 202 insertions(+), 178 deletions(-)
--
2.44.0
Powered by blists - more mailing lists