netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tariq Toukan <tariqt@nvidia.com>
To: "David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Eric Dumazet <edumazet@google.com>
Cc: <netdev@vger.kernel.org>, Saeed Mahameed <saeedm@nvidia.com>,
	Gal Pressman <gal@nvidia.com>,
	Leon Romanovsky <leonro@nvidia.com>,
	Tariq Toukan <tariqt@nvidia.com>
Subject: [PATCH net-next V2 00/14] net/mlx5e: SHAMPO, Enable HW GRO once more
Date: Tue, 4 Jun 2024 00:22:05 +0300	[thread overview]
Message-ID: <20240603212219.1037656-1-tariqt@nvidia.com> (raw)

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


             reply	other threads:[~2024-06-03 21:23 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-03 21:22 Tariq Toukan [this message]
2024-06-03 21:22 ` [PATCH net-next V2 01/14] net/mlx5e: SHAMPO, Use net_prefetch API Tariq Toukan
2024-06-03 21:22 ` [PATCH net-next V2 02/14] net/mlx5e: SHAMPO, Fix incorrect page release Tariq Toukan
2024-06-06  3:20   ` Jakub Kicinski
2024-06-06  5:32     ` Tariq Toukan
2024-06-03 21:22 ` [PATCH net-next V2 03/14] net/mlx5e: SHAMPO, Fix invalid WQ linked list unlink Tariq Toukan
2024-06-03 21:22 ` [PATCH net-next V2 04/14] net/mlx5e: SHAMPO, Fix FCS config when HW GRO on Tariq Toukan
2024-06-03 21:22 ` [PATCH net-next V2 05/14] net/mlx5e: SHAMPO, Disable gso_size for non GRO packets Tariq Toukan
2024-06-03 21:22 ` [PATCH net-next V2 06/14] net/mlx5e: SHAMPO, Simplify header page release in teardown Tariq Toukan
2024-06-03 21:22 ` [PATCH net-next V2 07/14] net/mlx5e: SHAMPO, Specialize mlx5e_fill_skb_data() Tariq Toukan
2024-06-03 21:22 ` [PATCH net-next V2 08/14] net/mlx5e: SHAMPO, Skipping on duplicate flush of the same SHAMPO SKB Tariq Toukan
2024-06-03 21:22 ` [PATCH net-next V2 09/14] net/mlx5e: SHAMPO, Make GRO counters more precise Tariq Toukan
2024-06-03 21:22 ` [PATCH net-next V2 10/14] net/mlx5e: SHAMPO, Drop rx_gro_match_packets counter Tariq Toukan
2024-06-03 21:22 ` [PATCH net-next V2 11/14] net/mlx5e: SHAMPO, Add header-only ethtool counters for header data split Tariq Toukan
2024-06-03 21:22 ` [PATCH net-next V2 12/14] net/mlx5e: SHAMPO, Use KSMs instead of KLMs Tariq Toukan
2024-06-03 21:22 ` [PATCH net-next V2 13/14] net/mlx5e: SHAMPO, Re-enable HW-GRO Tariq Toukan
2024-06-03 21:22 ` [PATCH net-next V2 14/14] net/mlx5e: SHAMPO, Coalesce skb fragments to page size Tariq Toukan
2024-06-06  3:30 ` [PATCH net-next V2 00/14] net/mlx5e: SHAMPO, Enable HW GRO once more 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=20240603212219.1037656-1-tariqt@nvidia.com \
    --to=tariqt@nvidia.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=gal@nvidia.com \
    --cc=kuba@kernel.org \
    --cc=leonro@nvidia.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=saeedm@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;
as well as URLs for NNTP newsgroup(s).