Message ID | 20241203202924.228440-1-tariqt@nvidia.com (mailing list archive) |
---|---|
Headers | show |
Series | net/mlx5: ConnectX-8 SW Steering + Rate management on traffic classes | expand |
On 03/12/2024 22:29, Tariq Toukan wrote: > Hi, > > This patchset starts with 3 patches that modify the IFC, targeted to > mlx5-next First 4 patches to mlx5-next, not 3. Sorry for the confusion. > in order to be taken to rdma-next branch side sooner than in > the next merge window. >
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 >
On 04/12/2024 15:47, Zhu Yanjun wrote: > 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 > Thanks for your comment! Noted. I'll use it in my next submissions.