Message ID | 20210415151135.2098674-1-lizh@nvidia.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A4137A0C3F; Thu, 15 Apr 2021 17:11:47 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8F0E51622ED; Thu, 15 Apr 2021 17:11:47 +0200 (CEST) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by mails.dpdk.org (Postfix) with ESMTP id 5C97B1622DF for <dev@dpdk.org>; Thu, 15 Apr 2021 17:11:46 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE1 (envelope-from lizh@nvidia.com) with SMTP; 15 Apr 2021 18:11:45 +0300 Received: from nvidia.com (c-235-17-1-009.mtl.labs.mlnx [10.235.17.9]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 13FFBjPF032677; Thu, 15 Apr 2021 18:11:45 +0300 From: Li Zhang <lizh@nvidia.com> To: dekelp@nvidia.com, orika@nvidia.com, viacheslavo@nvidia.com, matan@nvidia.com, shahafs@nvidia.com Cc: dev@dpdk.org, thomas@monjalon.net, rasland@nvidia.com, roniba@nvidia.com Date: Thu, 15 Apr 2021 18:11:20 +0300 Message-Id: <20210415151135.2098674-1-lizh@nvidia.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210331073632.1443011-1-lizh@nvidia.com> References: <20210331073632.1443011-1-lizh@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v5 00/14] Add ASO meter support in MLX5 PMD X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
Add ASO meter support in MLX5 PMD
|
|
Message
Li Zhang
April 15, 2021, 3:11 p.m. UTC
To support more meters and better performance, MLX HW provide ASO flow meter. It can expose millions of ASO flow meter context's in HW. This ASO object can allocate the large bulk meter objects. This patch set implement the ASO flow meter for mlx5 driver. MLX5 PMD driver will be responsible for ASO flow meter manage to HW. V2: Fix compile error issue (mlx5_glue->destroy_flow_action) V3: Fix comments. V4: Fix comments and add Acked. V5: Fix unused log_obj_size issue. Li Zhang (10): net/mlx5: optimize meter statistics common/mlx5: add definitions for ASO flow meter common/mlx5: add read ASO flow meter HCA capability common/mlx5: add DevX API to create ASO flow meter object net/mlx5: flow meter pool to manage meter object net/mlx5: initialize the flow meter ASO SQ net/mlx5: aso flow meter send WQE and CQE handle net/mlx5: add support of ASO meter action net/mlx5: make ASO meter queue thread-safe net/mlx5: allow multiple flow tables on the same level Shun Hao (3): common/mlx5: add color register idle bits definition net/mlx5: fix meter statistics net/mlx5: use mask for meter register setting Suanming Mou (1): net/mlx5: support three level table walk doc/guides/nics/mlx5.rst | 6 + drivers/common/mlx5/mlx5_devx_cmds.c | 68 ++ drivers/common/mlx5/mlx5_devx_cmds.h | 26 +- drivers/common/mlx5/mlx5_prm.h | 81 +- drivers/common/mlx5/version.map | 1 + drivers/net/mlx5/linux/mlx5_os.c | 20 +- drivers/net/mlx5/meson.build | 2 +- drivers/net/mlx5/mlx5.c | 98 +- drivers/net/mlx5/mlx5.h | 258 +++++- drivers/net/mlx5/mlx5_flow.c | 334 +++++-- drivers/net/mlx5/mlx5_flow.h | 212 ++--- .../mlx5/{mlx5_flow_age.c => mlx5_flow_aso.c} | 289 +++++- drivers/net/mlx5/mlx5_flow_dv.c | 792 +++++++++++----- drivers/net/mlx5/mlx5_flow_meter.c | 873 ++++++++++++------ drivers/net/mlx5/mlx5_utils.h | 90 ++ 15 files changed, 2320 insertions(+), 830 deletions(-) rename drivers/net/mlx5/{mlx5_flow_age.c => mlx5_flow_aso.c} (65%)
Comments
Hi, > -----Original Message----- > From: Li Zhang <lizh@nvidia.com> > Sent: Thursday, April 15, 2021 6:11 PM > To: dekelp@nvidia.com; Ori Kam <orika@nvidia.com>; Slava Ovsiienko > <viacheslavo@nvidia.com>; Matan Azrad <matan@nvidia.com>; Shahaf > Shuler <shahafs@nvidia.com> > Cc: dev@dpdk.org; NBU-Contact-Thomas Monjalon > <thomas@monjalon.net>; Raslan Darawsheh <rasland@nvidia.com>; Roni > Bar Yanai <roniba@nvidia.com> > Subject: [PATCH v5 00/14] Add ASO meter support in MLX5 PMD > > To support more meters and better performance, > MLX HW provide ASO flow meter. > It can expose millions of ASO flow meter context's in HW. > This ASO object can allocate the large bulk meter objects. > This patch set implement the ASO flow meter for mlx5 driver. > MLX5 PMD driver will be responsible for ASO flow meter manage to HW. > > V2: Fix compile error issue (mlx5_glue->destroy_flow_action) > V3: Fix comments. > V4: Fix comments and add Acked. > V5: Fix unused log_obj_size issue. > > Li Zhang (10): > net/mlx5: optimize meter statistics > common/mlx5: add definitions for ASO flow meter > common/mlx5: add read ASO flow meter HCA capability > common/mlx5: add DevX API to create ASO flow meter object > net/mlx5: flow meter pool to manage meter object > net/mlx5: initialize the flow meter ASO SQ > net/mlx5: aso flow meter send WQE and CQE handle > net/mlx5: add support of ASO meter action > net/mlx5: make ASO meter queue thread-safe > net/mlx5: allow multiple flow tables on the same level > > Shun Hao (3): > common/mlx5: add color register idle bits definition > net/mlx5: fix meter statistics > net/mlx5: use mask for meter register setting > > Suanming Mou (1): > net/mlx5: support three level table walk > > doc/guides/nics/mlx5.rst | 6 + > drivers/common/mlx5/mlx5_devx_cmds.c | 68 ++ > drivers/common/mlx5/mlx5_devx_cmds.h | 26 +- > drivers/common/mlx5/mlx5_prm.h | 81 +- > drivers/common/mlx5/version.map | 1 + > drivers/net/mlx5/linux/mlx5_os.c | 20 +- > drivers/net/mlx5/meson.build | 2 +- > drivers/net/mlx5/mlx5.c | 98 +- > drivers/net/mlx5/mlx5.h | 258 +++++- > drivers/net/mlx5/mlx5_flow.c | 334 +++++-- > drivers/net/mlx5/mlx5_flow.h | 212 ++--- > .../mlx5/{mlx5_flow_age.c => mlx5_flow_aso.c} | 289 +++++- > drivers/net/mlx5/mlx5_flow_dv.c | 792 +++++++++++----- > drivers/net/mlx5/mlx5_flow_meter.c | 873 ++++++++++++------ > drivers/net/mlx5/mlx5_utils.h | 90 ++ > 15 files changed, 2320 insertions(+), 830 deletions(-) > rename drivers/net/mlx5/{mlx5_flow_age.c => mlx5_flow_aso.c} (65%) > > -- > 2.27.0 Series applied to next-net-mlx, Kindest regards, Raslan Darawsheh
On 4/15/2021 4:11 PM, Li Zhang wrote: > To support more meters and better performance, > MLX HW provide ASO flow meter. > It can expose millions of ASO flow meter context's in HW. > This ASO object can allocate the large bulk meter objects. > This patch set implement the ASO flow meter for mlx5 driver. > MLX5 PMD driver will be responsible for ASO flow meter manage to HW. > What is ASO? Search yields "Advanced Steering Operation" but that seems Mellanox jargon, would you mind adding some mlx documentation to describe it? If there are some design considerations around it, it may be good to document that too. Also please provide the long version of the abbreviation in the commit log, at least at first usage of it. And what do you think mentioning from this new support in the release notes? Thanks, ferruh > V2: Fix compile error issue (mlx5_glue->destroy_flow_action) > V3: Fix comments. > V4: Fix comments and add Acked. > V5: Fix unused log_obj_size issue. > > Li Zhang (10): > net/mlx5: optimize meter statistics > common/mlx5: add definitions for ASO flow meter > common/mlx5: add read ASO flow meter HCA capability > common/mlx5: add DevX API to create ASO flow meter object > net/mlx5: flow meter pool to manage meter object > net/mlx5: initialize the flow meter ASO SQ > net/mlx5: aso flow meter send WQE and CQE handle > net/mlx5: add support of ASO meter action > net/mlx5: make ASO meter queue thread-safe > net/mlx5: allow multiple flow tables on the same level > > Shun Hao (3): > common/mlx5: add color register idle bits definition > net/mlx5: fix meter statistics > net/mlx5: use mask for meter register setting > > Suanming Mou (1): > net/mlx5: support three level table walk > > doc/guides/nics/mlx5.rst | 6 + > drivers/common/mlx5/mlx5_devx_cmds.c | 68 ++ > drivers/common/mlx5/mlx5_devx_cmds.h | 26 +- > drivers/common/mlx5/mlx5_prm.h | 81 +- > drivers/common/mlx5/version.map | 1 + > drivers/net/mlx5/linux/mlx5_os.c | 20 +- > drivers/net/mlx5/meson.build | 2 +- > drivers/net/mlx5/mlx5.c | 98 +- > drivers/net/mlx5/mlx5.h | 258 +++++- > drivers/net/mlx5/mlx5_flow.c | 334 +++++-- > drivers/net/mlx5/mlx5_flow.h | 212 ++--- > .../mlx5/{mlx5_flow_age.c => mlx5_flow_aso.c} | 289 +++++- > drivers/net/mlx5/mlx5_flow_dv.c | 792 +++++++++++----- > drivers/net/mlx5/mlx5_flow_meter.c | 873 ++++++++++++------ > drivers/net/mlx5/mlx5_utils.h | 90 ++ > 15 files changed, 2320 insertions(+), 830 deletions(-) > rename drivers/net/mlx5/{mlx5_flow_age.c => mlx5_flow_aso.c} (65%) >
19/04/2021 23:42, Ferruh Yigit: > On 4/15/2021 4:11 PM, Li Zhang wrote: > > To support more meters and better performance, > > MLX HW provide ASO flow meter. > > It can expose millions of ASO flow meter context's in HW. > > This ASO object can allocate the large bulk meter objects. > > This patch set implement the ASO flow meter for mlx5 driver. > > MLX5 PMD driver will be responsible for ASO flow meter manage to HW. > > > > What is ASO? > Search yields "Advanced Steering Operation" but that seems Mellanox jargon, > would you mind adding some mlx documentation to describe it? If there are some > design considerations around it, it may be good to document that too. > Also please provide the long version of the abbreviation in the commit log, at > least at first usage of it. > > And what do you think mentioning from this new support in the release notes? Yes, new PMD feature should be announced in the release notes, it seems to be a miss. > > doc/guides/nics/mlx5.rst | 6 + > > drivers/common/mlx5/mlx5_devx_cmds.c | 68 ++ > > drivers/common/mlx5/mlx5_devx_cmds.h | 26 +- > > drivers/common/mlx5/mlx5_prm.h | 81 +- > > drivers/common/mlx5/version.map | 1 + > > drivers/net/mlx5/linux/mlx5_os.c | 20 +- > > drivers/net/mlx5/meson.build | 2 +- > > drivers/net/mlx5/mlx5.c | 98 +- > > drivers/net/mlx5/mlx5.h | 258 +++++- > > drivers/net/mlx5/mlx5_flow.c | 334 +++++-- > > drivers/net/mlx5/mlx5_flow.h | 212 ++--- > > .../mlx5/{mlx5_flow_age.c => mlx5_flow_aso.c} | 289 +++++- > > drivers/net/mlx5/mlx5_flow_dv.c | 792 +++++++++++----- > > drivers/net/mlx5/mlx5_flow_meter.c | 873 ++++++++++++------ > > drivers/net/mlx5/mlx5_utils.h | 90 ++ > > 15 files changed, 2320 insertions(+), 830 deletions(-)
Hi, > -----Original Message----- > From: Thomas Monjalon <thomas@monjalon.net> > Sent: Tuesday, April 20, 2021 5:59 AM > To: Li Zhang <lizh@nvidia.com>; Ferruh Yigit <ferruh.yigit@intel.com> > Cc: Ori Kam <orika@nvidia.com>; Slava Ovsiienko <viacheslavo@nvidia.com>; > Matan Azrad <matan@nvidia.com>; dev@dpdk.org; Raslan Darawsheh > <rasland@nvidia.com>; Asaf Penso <asafp@nvidia.com>; Jiawei(Jonny) > Wang <jiaweiw@nvidia.com> > Subject: Re: [dpdk-dev] [PATCH v5 00/14] Add ASO meter support in MLX5 > PMD > > 19/04/2021 23:42, Ferruh Yigit: > > On 4/15/2021 4:11 PM, Li Zhang wrote: > > > To support more meters and better performance, MLX HW provide ASO > > > flow meter. > > > It can expose millions of ASO flow meter context's in HW. > > > This ASO object can allocate the large bulk meter objects. > > > This patch set implement the ASO flow meter for mlx5 driver. > > > MLX5 PMD driver will be responsible for ASO flow meter manage to HW. > > > > > > > What is ASO? > > Search yields "Advanced Steering Operation" but that seems Mellanox > > jargon, would you mind adding some mlx documentation to describe it? > > If there are some design considerations around it, it may be good to > document that too. Yes, ASO means (Advanced Steering Operation) and it's MLX5 internal usage, we adds the usage in the commit log. > > Also please provide the long version of the abbreviation in the commit > > log, at least at first usage of it. > > Ok, will add it. > > And what do you think mentioning from this new support in the release > notes? > > Yes, new PMD feature should be announced in the release notes, it seems to > be a miss. > Yes, will add the description in release_notes_21.05.rst > > > doc/guides/nics/mlx5.rst | 6 + > > > drivers/common/mlx5/mlx5_devx_cmds.c | 68 ++ > > > drivers/common/mlx5/mlx5_devx_cmds.h | 26 +- > > > drivers/common/mlx5/mlx5_prm.h | 81 +- > > > drivers/common/mlx5/version.map | 1 + > > > drivers/net/mlx5/linux/mlx5_os.c | 20 +- > > > drivers/net/mlx5/meson.build | 2 +- > > > drivers/net/mlx5/mlx5.c | 98 +- > > > drivers/net/mlx5/mlx5.h | 258 +++++- > > > drivers/net/mlx5/mlx5_flow.c | 334 +++++-- > > > drivers/net/mlx5/mlx5_flow.h | 212 ++--- > > > .../mlx5/{mlx5_flow_age.c => mlx5_flow_aso.c} | 289 +++++- > > > drivers/net/mlx5/mlx5_flow_dv.c | 792 +++++++++++----- > > > drivers/net/mlx5/mlx5_flow_meter.c | 873 ++++++++++++------ > > > drivers/net/mlx5/mlx5_utils.h | 90 ++ > > > 15 files changed, 2320 insertions(+), 830 deletions(-) > > Thanks.