mbox series

[net-next,00/14] net/mlx5: qos: Refactor esw qos to support new features

Message ID 20241008183222.137702-1-tariqt@nvidia.com (mailing list archive)
Headers show
Series net/mlx5: qos: Refactor esw qos to support new features | expand

Message

Tariq Toukan Oct. 8, 2024, 6:32 p.m. UTC
Hi,

This patch series by Cosmin and Carolina prepares the mlx5 qos infra for
the upcoming feature of cross E-Switch scheduling.

Noop cleanups:
net/mlx5: qos: Flesh out element_attributes in mlx5_ifc.h
net/mlx5: qos: Rename vport 'tsar' into 'sched_elem'.
net/mlx5: qos: Consistently name vport vars as 'vport'
net/mlx5: qos: Refactor and document bw_share calculation
net/mlx5: qos: Rename rate group 'list' as 'parent_entry'

Refactor the code with the goal of moving groups out of E-Switches:
net/mlx5: qos: Maintain rate group vport members in a list
net/mlx5: qos: Always create group0
net/mlx5: qos: Drop 'esw' param from vport qos functions
net/mlx5: qos: Store the eswitch in a mlx5_esw_rate_group

Move groups from an E-Switch into an mlx5_qos_domain:
net/mlx5: qos: Store rate groups in a qos domain

Refactor locking to use a new mutex in the qos domain:
net/mlx5: qos: Refactor locking to a qos domain mutex

In follow-up patchsets, we'll allow qos domains to be shared
between E-Switches of the same NIC.

The two top patches are simple enhancements.

Series generated against:
commit f95b4725e796 ("net: phy: mxl-gpy: add missing support for TRIGGER_NETDEV_LINK_10")

Regards,
Tariq


Carolina Jubran (2):
  net/mlx5: Unify QoS element type checks across NIC and E-Switch
  net/mlx5: Add support check for TSAR types in QoS scheduling

Cosmin Ratiu (12):
  net/mlx5: qos: Flesh out element_attributes in mlx5_ifc.h
  net/mlx5: qos: Rename vport 'tsar' into 'sched_elem'.
  net/mlx5: qos: Consistently name vport vars as 'vport'
  net/mlx5: qos: Refactor and document bw_share calculation
  net/mlx5: qos: Maintain rate group vport members in a list
  net/mlx5: qos: Always create group0
  net/mlx5: qos: Drop 'esw' param from vport qos functions
  net/mlx5: qos: Store the eswitch in a mlx5_esw_rate_group
  net/mlx5: qos: Add an explicit 'dev' to vport trace calls
  net/mlx5: qos: Rename rate group 'list' as 'parent_entry'
  net/mlx5: qos: Store rate groups in a qos domain
  net/mlx5: qos: Refactor locking to a qos domain mutex

 .../mellanox/mlx5/core/esw/devlink_port.c     |   4 +-
 .../mlx5/core/esw/diag/qos_tracepoint.h       |  39 +-
 .../ethernet/mellanox/mlx5/core/esw/legacy.c  |   6 +-
 .../net/ethernet/mellanox/mlx5/core/esw/qos.c | 668 ++++++++++--------
 .../net/ethernet/mellanox/mlx5/core/esw/qos.h |   9 +-
 .../net/ethernet/mellanox/mlx5/core/eswitch.c |  22 +-
 .../net/ethernet/mellanox/mlx5/core/eswitch.h |  32 +-
 .../mellanox/mlx5/core/eswitch_offloads.c     |   4 +-
 .../ethernet/mellanox/mlx5/core/mlx5_core.h   |   2 +
 drivers/net/ethernet/mellanox/mlx5/core/qos.c |  12 +-
 drivers/net/ethernet/mellanox/mlx5/core/rl.c  |  58 ++
 include/linux/mlx5/mlx5_ifc.h                 |  67 +-
 12 files changed, 547 insertions(+), 376 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org Oct. 10, 2024, 11:20 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (main)
by Paolo Abeni <pabeni@redhat.com>:

On Tue, 8 Oct 2024 21:32:08 +0300 you wrote:
> Hi,
> 
> This patch series by Cosmin and Carolina prepares the mlx5 qos infra for
> the upcoming feature of cross E-Switch scheduling.
> 
> Noop cleanups:
> net/mlx5: qos: Flesh out element_attributes in mlx5_ifc.h
> net/mlx5: qos: Rename vport 'tsar' into 'sched_elem'.
> net/mlx5: qos: Consistently name vport vars as 'vport'
> net/mlx5: qos: Refactor and document bw_share calculation
> net/mlx5: qos: Rename rate group 'list' as 'parent_entry'
> 
> [...]

Here is the summary with links:
  - [net-next,01/14] net/mlx5: qos: Flesh out element_attributes in mlx5_ifc.h
    https://git.kernel.org/netdev/net-next/c/016f426a14f0
  - [net-next,02/14] net/mlx5: qos: Rename vport 'tsar' into 'sched_elem'.
    https://git.kernel.org/netdev/net-next/c/158205ca4baf
  - [net-next,03/14] net/mlx5: qos: Consistently name vport vars as 'vport'
    https://git.kernel.org/netdev/net-next/c/16efefde21f5
  - [net-next,04/14] net/mlx5: qos: Refactor and document bw_share calculation
    https://git.kernel.org/netdev/net-next/c/8746eeb7f808
  - [net-next,05/14] net/mlx5: qos: Maintain rate group vport members in a list
    https://git.kernel.org/netdev/net-next/c/d3a3b0765e18
  - [net-next,06/14] net/mlx5: qos: Always create group0
    https://git.kernel.org/netdev/net-next/c/a87a561b802a
  - [net-next,07/14] net/mlx5: qos: Drop 'esw' param from vport qos functions
    https://git.kernel.org/netdev/net-next/c/e9fa32f11086
  - [net-next,08/14] net/mlx5: qos: Store the eswitch in a mlx5_esw_rate_group
    https://git.kernel.org/netdev/net-next/c/b9cfe193eb8f
  - [net-next,09/14] net/mlx5: qos: Add an explicit 'dev' to vport trace calls
    https://git.kernel.org/netdev/net-next/c/0c4cf09eca83
  - [net-next,10/14] net/mlx5: qos: Rename rate group 'list' as 'parent_entry'
    https://git.kernel.org/netdev/net-next/c/43f9011a3d7a
  - [net-next,11/14] net/mlx5: qos: Store rate groups in a qos domain
    https://git.kernel.org/netdev/net-next/c/107a034d5c1e
  - [net-next,12/14] net/mlx5: qos: Refactor locking to a qos domain mutex
    https://git.kernel.org/netdev/net-next/c/40efb0b7c755
  - [net-next,13/14] net/mlx5: Unify QoS element type checks across NIC and E-Switch
    https://git.kernel.org/netdev/net-next/c/f91c69f43c54
  - [net-next,14/14] net/mlx5: Add support check for TSAR types in QoS scheduling
    https://git.kernel.org/netdev/net-next/c/e1013c792960

You are awesome, thank you!