netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [pull request][net-next 00/12] mlx5 updates 2021-03-29
@ 2021-03-30  4:27 Saeed Mahameed
  2021-03-30  4:27 ` [net-next 01/12] net/mlx5e: Add states to PTP channel Saeed Mahameed
                   ` (11 more replies)
  0 siblings, 12 replies; 14+ messages in thread
From: Saeed Mahameed @ 2021-03-30  4:27 UTC (permalink / raw)
  To: David S. Miller, Jakub Kicinski; +Cc: netdev, Saeed Mahameed

From: Saeed Mahameed <saeedm@nvidia.com>

Hi Dave, Jakub,

This series removes the mlx5 netdev restriction of enabling both 
PTP time-stamping and CQE-Compression features.
For more information please see tag log below.

Please pull and let me know if there is any problem.

Thanks,
Saeed.

---
The following changes since commit d0922bf7981799fd86e248de330fb4152399d6c2:

  hv_netvsc: Add error handling while switching data path (2021-03-29 16:35:59 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-updates-2021-03-29

for you to fetch changes up to 885b8cfb161ed3d8f41e7b37e14d35bd8d3aaf6b:

  net/mlx5e: Update ethtool setting of CQE compression (2021-03-29 21:21:54 -0700)

----------------------------------------------------------------
mlx5-updates-2021-03-29

Coexistence of CQE compression and HW PTP time-stamp:

From Aya this series improves mlx5 netdev driver to allow
both mlx5 CQE compression (RX descriptor compression, that saves on PCI
transactions) and HW time-stamp PTP to co-exist.

Prior to this series both features were mutually exclusive due to the
nature of CQE compression which reduces the size of RX descriptor for
the price of trimming some data, such as the time-stamp.

In order to allow CQE compression when PTP time stamping is enabled,
We enable it on the regular performance critical RX queues which will
service all the data path traffic that is not PTP.

PTP traffic will be re-directed to dedicated RX queues on which we will
not enable CQE compression and thus keep the time-stamp intact.

Having both features is critical for systems with low PCI BW, e.g.
Multi-Host.

The series will be adding:
1) Infrastructure to create a dedicated RX queue to service the PTP traffic
2) Flow steering plumbing to capture PTP traffic both UDP packets with
 destination port 319 and L2 packets with ethertype 0x88F7
3) Steer PTP traffic to the dedicated RX queue.
4) The feature will be enabled when PTP is being configured via the
   already existing PTP IOCTL when CQE compression is active, otherwise
   no change to the driver flow.

----------------------------------------------------------------
Aya Levin (12):
      net/mlx5e: Add states to PTP channel
      net/mlx5e: Add RQ to PTP channel
      net/mlx5e: Add PTP-RX statistics
      net:mlx5e: Add PTP-TIR and PTP-RQT
      net/mlx5e: Refactor RX reporter diagnostics
      net/mlx5e: Add PTP RQ to RX reporter
      net/mlx5e: Cleanup Flow Steering level
      net/mlx5e: Introduce Flow Steering UDP API
      net/mlx5e: Introduce Flow Steering ANY API
      net/mlx5e: Add PTP Flow Steering support
      net/mlx5e: Allow coexistence of CQE compression and HW TS PTP
      net/mlx5e: Update ethtool setting of CQE compression

 drivers/net/ethernet/mellanox/mlx5/core/Makefile   |   2 +-
 drivers/net/ethernet/mellanox/mlx5/core/en.h       |   6 +
 drivers/net/ethernet/mellanox/mlx5/core/en/fs.h    |  13 +-
 .../mellanox/mlx5/core/en/fs_tt_redirect.c         | 605 +++++++++++++++++++++
 .../mellanox/mlx5/core/en/fs_tt_redirect.h         |  26 +
 drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c   | 331 ++++++++++-
 drivers/net/ethernet/mellanox/mlx5/core/en/ptp.h   |  12 +
 .../ethernet/mellanox/mlx5/core/en/reporter_rx.c   | 172 ++++--
 .../ethernet/mellanox/mlx5/core/en/reporter_tx.c   |  12 +-
 .../net/ethernet/mellanox/mlx5/core/en_ethtool.c   |  14 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c    |   8 +
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |  93 +++-
 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c   |   2 +
 drivers/net/ethernet/mellanox/mlx5/core/en_stats.c | 114 +++-
 drivers/net/ethernet/mellanox/mlx5/core/en_stats.h |   1 +
 drivers/net/ethernet/mellanox/mlx5/core/en_tx.c    |  11 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c  |   2 +-
 .../net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c  |   1 +
 .../ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c |   1 +
 19 files changed, 1298 insertions(+), 128 deletions(-)
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.h

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2021-03-30 20:11 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-30  4:27 [pull request][net-next 00/12] mlx5 updates 2021-03-29 Saeed Mahameed
2021-03-30  4:27 ` [net-next 01/12] net/mlx5e: Add states to PTP channel Saeed Mahameed
2021-03-30 20:10   ` patchwork-bot+netdevbpf
2021-03-30  4:27 ` [net-next 02/12] net/mlx5e: Add RQ " Saeed Mahameed
2021-03-30  4:27 ` [net-next 03/12] net/mlx5e: Add PTP-RX statistics Saeed Mahameed
2021-03-30  4:27 ` [net-next 04/12] net:mlx5e: Add PTP-TIR and PTP-RQT Saeed Mahameed
2021-03-30  4:27 ` [net-next 05/12] net/mlx5e: Refactor RX reporter diagnostics Saeed Mahameed
2021-03-30  4:27 ` [net-next 06/12] net/mlx5e: Add PTP RQ to RX reporter Saeed Mahameed
2021-03-30  4:27 ` [net-next 07/12] net/mlx5e: Cleanup Flow Steering level Saeed Mahameed
2021-03-30  4:27 ` [net-next 08/12] net/mlx5e: Introduce Flow Steering UDP API Saeed Mahameed
2021-03-30  4:27 ` [net-next 09/12] net/mlx5e: Introduce Flow Steering ANY API Saeed Mahameed
2021-03-30  4:27 ` [net-next 10/12] net/mlx5e: Add PTP Flow Steering support Saeed Mahameed
2021-03-30  4:27 ` [net-next 11/12] net/mlx5e: Allow coexistence of CQE compression and HW TS PTP Saeed Mahameed
2021-03-30  4:27 ` [net-next 12/12] net/mlx5e: Update ethtool setting of CQE compression Saeed Mahameed

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).