From: Zhu Yanjun <yanjun.zhu@linux.dev>
To: Tariq Toukan <tariqt@nvidia.com>,
"David S. Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Eric Dumazet <edumazet@google.com>,
Andrew Lunn <andrew+netdev@lunn.ch>
Cc: netdev@vger.kernel.org, Saeed Mahameed <saeedm@nvidia.com>,
Gal Pressman <gal@nvidia.com>,
Leon Romanovsky <leonro@nvidia.com>,
linux-rdma@vger.kernel.org
Subject: Re: [PATCH net-next V4 00/11] net/mlx5: ConnectX-8 SW Steering + Rate management on traffic classes
Date: Wed, 4 Dec 2024 14:47:23 +0100 [thread overview]
Message-ID: <b466b028-018b-4ae2-9b96-994081e4ebf6@linux.dev> (raw)
In-Reply-To: <20241203202924.228440-1-tariqt@nvidia.com>
On 03.12.24 21:29, Tariq Toukan wrote:
> Hi,
>
> This patchset starts with 3 patches that modify the IFC, targeted to
> mlx5-next in order to be taken to rdma-next branch side sooner than in
> the next merge window.
>
> This patchset consists of two features:
> 1. In patches 4-5, Itamar adds SW Steering support for ConnectX-8.
> 2. Followed by patches by Carolina that add rate management support on
> traffic classes in devlink and mlx5, more details below [1].
>
> Series generated against:
> commit e8e7be7d212d ("mctp i2c: drop check because i2c_unregister_device() is NULL safe")
From the link
https://people.kernel.org/monsieuricon/all-patches-must-include-base-commit-info,
If we use --base=auto or the commit id (in this patch, the commit id
should be e8e7be7d212d), then we will notice that the commits will have
the base-commit: tailer at the very bottom.
This seems somewhat professional compared to the above. ^_^
Best Regards,
Zhu Yanjun
>
> Regards,
> Tariq
>
> V4:
> - Renamed the nested attribute for traffic class bandwidth to
> DEVLINK_ATTR_RATE_TC_BWS.
> - Changed the order of the attributes in `devlink.h`.
> - Refactored the initialization tc-bw array in
> devlink_nl_rate_tc_bw_set().
> - Added extack messages to provide clear feedback on issues with tc-bw
> arguments.
> - Updated `rate-tc-bws` to support a multi-attr set, where each
> attribute includes an index and the corresponding bandwidth for that
> traffic class.
> - Handled the issue where the user could provide
> DEVLINK_ATTR_RATE_TC_BWS with duplicate indices.
> - Provided ynl exmaples in devlink patch commit message.
> - Take IFC patches to beginning of the series, targeted for mlx5-next.
>
>
> V3:
> - Dropped rate-tc-index, using tc-bw array index instead.
> - Renamed rate-bw to rate-tc-bw.
> - Documneted what the rate-tc-bw represents and added a range check for
> validation.
> - Intorduced devlink_nl_rate_tc_bw_set() to parse and set the TC
> bandwidth values.
> - Updated the user API in the commit message of patch 1/6 to ensure
> bandwidths sum equals 100.
> - Fixed missing filling of rate-parent in devlink_nl_rate_fill().
>
> V2:
> - Included <linux/dcbnl.h> in devlink.h to resolve missing
> IEEE_8021QAZ_MAX_TCS definition.
> - Refactored the rate-tc-bw attribute structure to use a separate
> rate-tc-index.
> - Updated patch 2/6 title.
>
>
> [1]
> This patch series extends the devlink-rate API to support traffic class
> (TC) bandwidth management, enabling more granular control over traffic
> shaping and rate limiting across multiple TCs. The API now allows users
> to specify bandwidth proportions for different traffic classes in a
> single command. This is particularly useful for managing Enhanced
> Transmission Selection (ETS) for groups of Virtual Functions (VFs),
> allowing precise bandwidth allocation across traffic classes.
>
> Additionally the series refines the QoS handling in net/mlx5 to support
> TC arbitration and bandwidth management on vports and rate nodes.
>
> Extend devlink-rate API to support rate management on TCs:
> - devlink: Extend the devlink rate API to support traffic class
> bandwidth management
>
> Introduce a no-op implementation:
> - net/mlx5: Add no-op implementation for setting tc-bw on rate objects
>
> Add support for enabling and disabling TC QoS on vports and nodes:
> - net/mlx5: Add support for setting tc-bw on nodes
> - net/mlx5: Add traffic class scheduling support for vport QoS
>
> Support for setting tc-bw on rate objects:
> - net/mlx5: Manage TC arbiter nodes and implement full support for
> tc-bw
>
> Carolina Jubran (6):
> net/mlx5: Add support for new scheduling elements
> devlink: Extend devlink rate API with traffic classes bandwidth
> management
> net/mlx5: Add no-op implementation for setting tc-bw on rate objects
> net/mlx5: Add support for setting tc-bw on nodes
> net/mlx5: Add traffic class scheduling support for vport QoS
> net/mlx5: Manage TC arbiter nodes and implement full support for tc-bw
>
> Cosmin Ratiu (2):
> net/mlx5: ifc: Reorganize mlx5_ifc_flow_table_context_bits
> net/mlx5: qos: Add ifc support for cross-esw scheduling
>
> Itamar Gozlan (2):
> net/mlx5: DR, Expand SWS STE callbacks and consolidate common structs
> net/mlx5: DR, Add support for ConnectX-8 steering
>
> Yevgeny Kliteynik (1):
> net/mlx5: Add ConnectX-8 device to ifc
>
> Documentation/netlink/specs/devlink.yaml | 28 +-
> .../net/ethernet/mellanox/mlx5/core/Makefile | 1 +
> .../net/ethernet/mellanox/mlx5/core/devlink.c | 2 +
> .../net/ethernet/mellanox/mlx5/core/esw/qos.c | 795 +++++++++++++++++-
> .../net/ethernet/mellanox/mlx5/core/esw/qos.h | 4 +
> .../net/ethernet/mellanox/mlx5/core/eswitch.h | 13 +-
> drivers/net/ethernet/mellanox/mlx5/core/rl.c | 4 +
> .../mlx5/core/steering/sws/dr_domain.c | 2 +-
> .../mellanox/mlx5/core/steering/sws/dr_ste.c | 6 +-
> .../mellanox/mlx5/core/steering/sws/dr_ste.h | 19 +-
> .../mlx5/core/steering/sws/dr_ste_v0.c | 6 +-
> .../mlx5/core/steering/sws/dr_ste_v1.c | 207 +----
> .../mlx5/core/steering/sws/dr_ste_v1.h | 147 +++-
> .../mlx5/core/steering/sws/dr_ste_v2.c | 169 +---
> .../mlx5/core/steering/sws/dr_ste_v2.h | 168 ++++
> .../mlx5/core/steering/sws/dr_ste_v3.c | 221 +++++
> .../mlx5/core/steering/sws/mlx5_ifc_dr.h | 40 +
> .../mellanox/mlx5/core/steering/sws/mlx5dr.h | 2 +-
> include/linux/mlx5/mlx5_ifc.h | 56 +-
> include/net/devlink.h | 7 +
> include/uapi/linux/devlink.h | 4 +
> net/devlink/netlink_gen.c | 15 +-
> net/devlink/netlink_gen.h | 1 +
> net/devlink/rate.c | 124 +++
> 24 files changed, 1645 insertions(+), 396 deletions(-)
> create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_ste_v2.h
> create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_ste_v3.c
>
next prev parent reply other threads:[~2024-12-04 13:47 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-03 20:29 [PATCH net-next V4 00/11] net/mlx5: ConnectX-8 SW Steering + Rate management on traffic classes Tariq Toukan
2024-12-03 20:29 ` [PATCH mlx5-next V4 01/11] net/mlx5: ifc: Reorganize mlx5_ifc_flow_table_context_bits Tariq Toukan
2024-12-03 20:29 ` [PATCH mlx5-next V4 02/11] net/mlx5: Add ConnectX-8 device to ifc Tariq Toukan
2024-12-03 20:29 ` [PATCH mlx5-next V4 03/11] net/mlx5: Add support for new scheduling elements Tariq Toukan
2024-12-03 20:29 ` [PATCH net-next V4 04/11] net/mlx5: qos: Add ifc support for cross-esw scheduling Tariq Toukan
2024-12-04 6:44 ` Tariq Toukan
2024-12-03 20:29 ` [PATCH net-next V4 05/11] net/mlx5: DR, Expand SWS STE callbacks and consolidate common structs Tariq Toukan
2024-12-03 20:29 ` [PATCH net-next V4 06/11] net/mlx5: DR, Add support for ConnectX-8 steering Tariq Toukan
2024-12-03 20:29 ` [PATCH net-next V4 07/11] devlink: Extend devlink rate API with traffic classes bandwidth management Tariq Toukan
2024-12-04 21:00 ` kernel test robot
2024-12-04 21:22 ` kernel test robot
2024-12-03 20:29 ` [PATCH net-next V4 08/11] net/mlx5: Add no-op implementation for setting tc-bw on rate objects Tariq Toukan
2024-12-03 20:29 ` [PATCH net-next V4 09/11] net/mlx5: Add support for setting tc-bw on nodes Tariq Toukan
2024-12-03 20:29 ` [PATCH net-next V4 10/11] net/mlx5: Add traffic class scheduling support for vport QoS Tariq Toukan
2024-12-03 20:29 ` [PATCH net-next V4 11/11] net/mlx5: Manage TC arbiter nodes and implement full support for tc-bw Tariq Toukan
2024-12-04 6:47 ` [PATCH net-next V4 00/11] net/mlx5: ConnectX-8 SW Steering + Rate management on traffic classes Tariq Toukan
2024-12-04 13:47 ` Zhu Yanjun [this message]
2024-12-04 22:25 ` Tariq Toukan
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=b466b028-018b-4ae2-9b96-994081e4ebf6@linux.dev \
--to=yanjun.zhu@linux.dev \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=gal@nvidia.com \
--cc=kuba@kernel.org \
--cc=leonro@nvidia.com \
--cc=linux-rdma@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=saeedm@nvidia.com \
--cc=tariqt@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.