[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241013064540.170722-1-tariqt@nvidia.com>
Date: Sun, 13 Oct 2024 09:45:25 +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>, <cjubran@...dia.com>,
<cratiu@...dia.com>, Tariq Toukan <tariqt@...dia.com>
Subject: [PATCH net-next 00/15] net/mlx5: Refactor esw QoS to support generalized operations
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
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 | 661 +++++++++---------
.../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, 430 insertions(+), 395 deletions(-)
--
2.44.0
Powered by blists - more mailing lists