netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next V2 00/15] net/mlx5: Refactor esw QoS to support generalized operations
@ 2024-10-14 20:52 Tariq Toukan
  2024-10-14 20:52 ` [PATCH net-next V2 01/15] net/mlx5: Refactor QoS group scheduling element creation Tariq Toukan
                   ` (14 more replies)
  0 siblings, 15 replies; 18+ messages in thread
From: Tariq Toukan @ 2024-10-14 20:52 UTC (permalink / raw)
  To: David S. Miller, Jakub Kicinski, Paolo Abeni, Eric Dumazet
  Cc: netdev, Saeed Mahameed, Gal Pressman, Leon Romanovsky, cjubran,
	cratiu, Tariq Toukan

Hi,

This patch series from the team to mlx5 core driver consists of one main
QoS part followed by small misc patches.

This main part (patches 1 to 11) by Carolina refactors the QoS handling
to generalize operations on scheduling groups and vports. These changes
are necessary to support new features that will extend group
functionality, introduce new group types, and support deeper
hierarchies.

Additionally, this refactor updates the terminology from "group" to
"node" to better reflect the hardware’s rate hierarchy and its use
of scheduling element nodes.

Simplify group scheduling element creation:
- net/mlx5: Refactor QoS group scheduling element creation

Refactor to support generalized operations for QoS:
- net/mlx5: Introduce node type to rate group structure
- net/mlx5: Add parent group support in rate group structure
- net/mlx5: Restrict domain list insertion to root TSAR ancestors
- net/mlx5: Rename vport QoS group reference to parent
- net/mlx5: Introduce node struct and rename group terminology to node
- net/mlx5: Refactor vport scheduling element creation function
- net/mlx5: Refactor vport QoS to use scheduling node structure
- net/mlx5: Remove vport QoS enabled flag

Support generalized operations for QoS elements:
- net/mlx5: Simplify QoS scheduling element configuration
- net/mlx5: Generalize QoS operations for nodes and vports

On top, patch 12 by Moshe handles FW request to move to drop mode.

In patch 13, Benjamin Poirier removes an empty eswitch flow table when
not used, which improves packet processing performance.

Patches 14 and 15 by Moshe are small field renamings as preparation for
future fields addition to these structures.

Series generated against:
commit c531f2269a53 ("net: bcmasp: enable SW timestamping")

Regards,
Tariq

V2:
- Declared int err separately to fix the type mismatch with u32.
- Fixed potential NULL dereference in the node allocation error path.
- Removed "rate_node" renamings, as it referred to the old "rate_group".
- Replaced 0 with NULL in mlx5_esw_qos_vport_get_parent.
- Fixed vport node allocation error path.
- Initialized dev in mlx5_esw_qos_vport_disable.
- Access vport_node->esw directly where possible.


Benjamin Poirier (1):
  net/mlx5: Only create VEPA flow table when in VEPA mode

Carolina Jubran (11):
  net/mlx5: Refactor QoS group scheduling element creation
  net/mlx5: Introduce node type to rate group structure
  net/mlx5: Add parent group support in rate group structure
  net/mlx5: Restrict domain list insertion to root TSAR ancestors
  net/mlx5: Rename vport QoS group reference to parent
  net/mlx5: Introduce node struct and rename group terminology to node
  net/mlx5: Refactor vport scheduling element creation function
  net/mlx5: Refactor vport QoS to use scheduling node structure
  net/mlx5: Remove vport QoS enabled flag
  net/mlx5: Simplify QoS scheduling element configuration
  net/mlx5: Generalize QoS operations for nodes and vports

Moshe Shemesh (3):
  net/mlx5: Add sync reset drop mode support
  net/mlx5: fs, rename packet reformat struct member action
  net/mlx5: fs, rename modify header struct member action

 .../mellanox/mlx5/core/en/tc/ct_fs_smfs.c     |   4 +-
 .../mellanox/mlx5/core/esw/devlink_port.c     |   2 +-
 .../mlx5/core/esw/diag/qos_tracepoint.h       |  53 +-
 .../ethernet/mellanox/mlx5/core/esw/legacy.c  |  27 +-
 .../net/ethernet/mellanox/mlx5/core/esw/qos.c | 669 +++++++++---------
 .../net/ethernet/mellanox/mlx5/core/esw/qos.h |   3 +
 .../net/ethernet/mellanox/mlx5/core/eswitch.c |   2 +
 .../net/ethernet/mellanox/mlx5/core/eswitch.h |  25 +-
 .../net/ethernet/mellanox/mlx5/core/fs_core.h |   4 +-
 .../ethernet/mellanox/mlx5/core/fw_reset.c    |   9 +-
 .../mellanox/mlx5/core/steering/fs_dr.c       |  35 +-
 11 files changed, 435 insertions(+), 398 deletions(-)

-- 
2.44.0


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

end of thread, other threads:[~2024-10-15 11:26 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-14 20:52 [PATCH net-next V2 00/15] net/mlx5: Refactor esw QoS to support generalized operations Tariq Toukan
2024-10-14 20:52 ` [PATCH net-next V2 01/15] net/mlx5: Refactor QoS group scheduling element creation Tariq Toukan
2024-10-14 20:52 ` [PATCH net-next V2 02/15] net/mlx5: Introduce node type to rate group structure Tariq Toukan
2024-10-14 20:52 ` [PATCH net-next V2 03/15] net/mlx5: Add parent group support in " Tariq Toukan
2024-10-14 20:52 ` [PATCH net-next V2 04/15] net/mlx5: Restrict domain list insertion to root TSAR ancestors Tariq Toukan
2024-10-14 20:52 ` [PATCH net-next V2 05/15] net/mlx5: Rename vport QoS group reference to parent Tariq Toukan
2024-10-14 20:52 ` [PATCH net-next V2 06/15] net/mlx5: Introduce node struct and rename group terminology to node Tariq Toukan
2024-10-14 20:52 ` [PATCH net-next V2 07/15] net/mlx5: Refactor vport scheduling element creation function Tariq Toukan
2024-10-14 20:52 ` [PATCH net-next V2 08/15] net/mlx5: Refactor vport QoS to use scheduling node structure Tariq Toukan
2024-10-14 20:52 ` [PATCH net-next V2 09/15] net/mlx5: Remove vport QoS enabled flag Tariq Toukan
2024-10-15 11:04   ` Simon Horman
2024-10-15 11:26     ` Tariq Toukan
2024-10-14 20:52 ` [PATCH net-next V2 10/15] net/mlx5: Simplify QoS scheduling element configuration Tariq Toukan
2024-10-14 20:52 ` [PATCH net-next V2 11/15] net/mlx5: Generalize QoS operations for nodes and vports Tariq Toukan
2024-10-14 20:52 ` [PATCH net-next V2 12/15] net/mlx5: Add sync reset drop mode support Tariq Toukan
2024-10-14 20:52 ` [PATCH net-next V2 13/15] net/mlx5: Only create VEPA flow table when in VEPA mode Tariq Toukan
2024-10-14 20:52 ` [PATCH net-next V2 14/15] net/mlx5: fs, rename packet reformat struct member action Tariq Toukan
2024-10-14 20:53 ` [PATCH net-next V2 15/15] net/mlx5: fs, rename modify header " Tariq Toukan

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