Message ID | 1618916122-181792-1-git-send-email-jiaweiw@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 5EC93A0548; Tue, 20 Apr 2021 12:55:32 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4AE5941726; Tue, 20 Apr 2021 12:55:28 +0200 (CEST) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by mails.dpdk.org (Postfix) with ESMTP id CED2441357 for <dev@dpdk.org>; Tue, 20 Apr 2021 12:55:25 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE1 (envelope-from jiaweiw@nvidia.com) with SMTP; 20 Apr 2021 13:55:22 +0300 Received: from nvidia.com (gen-l-vrt-281.mtl.labs.mlnx [10.237.44.1]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 13KAtMRm009943; Tue, 20 Apr 2021 13:55:22 +0300 From: Jiawei Wang <jiaweiw@nvidia.com> To: matan@nvidia.com, orika@nvidia.com, viacheslavo@nvidia.com, ferruh.yigit@intel.com, thomas@monjalon.net Cc: dev@dpdk.org, rasland@nvidia.com, asafp@nvidia.com Date: Tue, 20 Apr 2021 13:55:07 +0300 Message-Id: <1618916122-181792-1-git-send-email-jiaweiw@nvidia.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <20210331073632.1443011-1-lizh@nvidia.com> References: <20210331073632.1443011-1-lizh@nvidia.com> Subject: [dpdk-dev] [PATCH v6 00/15] 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
Jiawei Wang
April 20, 2021, 10:55 a.m. UTC
To support more meters and better performance, MLX HW provides ASO (Advanced Steering Operation) 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. V6: Fix comments and update release notes. Jiawei Wang (1): doc: update release notes for ASO meter 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: add meter ASO queue management 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 + doc/guides/rel_notes/release_21_05.rst | 1 + 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 +++----- drivers/net/mlx5/mlx5_flow_age.c | 591 ---------------------- drivers/net/mlx5/mlx5_flow_aso.c | 850 ++++++++++++++++++++++++++++++++ drivers/net/mlx5/mlx5_flow_dv.c | 792 +++++++++++++++++++++--------- drivers/net/mlx5/mlx5_flow_meter.c | 873 +++++++++++++++++++++------------ drivers/net/mlx5/mlx5_utils.h | 90 ++++ 17 files changed, 2897 insertions(+), 1406 deletions(-) delete mode 100644 drivers/net/mlx5/mlx5_flow_age.c create mode 100644 drivers/net/mlx5/mlx5_flow_aso.c
Comments
Hi, > -----Original Message----- > From: Jiawei Wang <jiaweiw@nvidia.com> > Sent: Tuesday, April 20, 2021 1:55 PM > To: Matan Azrad <matan@nvidia.com>; Ori Kam <orika@nvidia.com>; Slava > Ovsiienko <viacheslavo@nvidia.com>; ferruh.yigit@intel.com; NBU-Contact- > Thomas Monjalon <thomas@monjalon.net> > Cc: dev@dpdk.org; Raslan Darawsheh <rasland@nvidia.com>; Asaf Penso > <asafp@nvidia.com> > Subject: [PATCH v6 00/15] Add ASO meter support in MLX5 PMD > > To support more meters and better performance, > MLX HW provides ASO (Advanced Steering Operation) 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. > V6: Fix comments and update release notes. > > Jiawei Wang (1): > doc: update release notes for ASO meter > > 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: add meter ASO queue management > 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 + > doc/guides/rel_notes/release_21_05.rst | 1 + > 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 +++----- > drivers/net/mlx5/mlx5_flow_age.c | 591 ---------------------- > drivers/net/mlx5/mlx5_flow_aso.c | 850 > ++++++++++++++++++++++++++++++++ > drivers/net/mlx5/mlx5_flow_dv.c | 792 +++++++++++++++++++++------ > --- > drivers/net/mlx5/mlx5_flow_meter.c | 873 +++++++++++++++++++++---- > -------- > drivers/net/mlx5/mlx5_utils.h | 90 ++++ > 17 files changed, 2897 insertions(+), 1406 deletions(-) > delete mode 100644 drivers/net/mlx5/mlx5_flow_age.c > create mode 100644 drivers/net/mlx5/mlx5_flow_aso.c > > -- > 1.8.3.1 Removed V5 and v6 applied to next-net-mlx, Kindest regards, Raslan Darawsheh
On 4/20/2021 11:55 AM, Jiawei Wang wrote: > To support more meters and better performance, > MLX HW provides ASO (Advanced Steering Operation) 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. > V6: Fix comments and update release notes. > > Jiawei Wang (1): > doc: update release notes for ASO meter > > 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: add meter ASO queue management > 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 > Hi Li, The request in previous patch was to add some documentation on the new feature in driver documentation, plus some design documentation if needed, not just release notes update. But this patch become on the critical path for -rc1, since an mlx ethdev patch depends on this patch, I want to block them for the release, instead does it make sense the have the documentation update for the -rc2, what do you think? Thanks, ferruh
>-----Original Message----- >From: Ferruh Yigit <ferruh.yigit@intel.com> >Sent: Wednesday, April 21, 2021 11:32 AM >To: Jiawei(Jonny) Wang <jiaweiw@nvidia.com>; Matan Azrad ><matan@nvidia.com>; Ori Kam <orika@nvidia.com>; Slava Ovsiienko ><viacheslavo@nvidia.com>; NBU-Contact-Thomas Monjalon ><thomas@monjalon.net> >Cc: dev@dpdk.org; Raslan Darawsheh <rasland@nvidia.com>; Asaf Penso ><asafp@nvidia.com> >Subject: Re: [PATCH v6 00/15] Add ASO meter support in MLX5 PMD > >On 4/20/2021 11:55 AM, Jiawei Wang wrote: >> To support more meters and better performance, MLX HW provides ASO >> (Advanced Steering Operation) 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. >> V6: Fix comments and update release notes. >> >> Jiawei Wang (1): >> doc: update release notes for ASO meter >> >> 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: add meter ASO queue management >> 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 >> > >Hi Li, > >The request in previous patch was to add some documentation on the new >feature in driver documentation, plus some design documentation if needed, >not just release notes update. > >But this patch become on the critical path for -rc1, since an mlx ethdev patch >depends on this patch, I want to block them for the release, instead does it >make sense the have the documentation update for the -rc2, what do you >think? > >Thanks, >ferruh Hello Ferruh, The ASO is not a new concept, and is already used by other features like shared RSS and sharing Aging. Regardless, I agree we can improve documention of the driver, as always 😊 We'll take it as part of -rc2, and would appreciate the integration of this patchset in the meanwhile.
On 4/21/2021 9:33 AM, Asaf Penso wrote: >> -----Original Message----- >> From: Ferruh Yigit <ferruh.yigit@intel.com> >> Sent: Wednesday, April 21, 2021 11:32 AM >> To: Jiawei(Jonny) Wang <jiaweiw@nvidia.com>; Matan Azrad >> <matan@nvidia.com>; Ori Kam <orika@nvidia.com>; Slava Ovsiienko >> <viacheslavo@nvidia.com>; NBU-Contact-Thomas Monjalon >> <thomas@monjalon.net> >> Cc: dev@dpdk.org; Raslan Darawsheh <rasland@nvidia.com>; Asaf Penso >> <asafp@nvidia.com> >> Subject: Re: [PATCH v6 00/15] Add ASO meter support in MLX5 PMD >> >> On 4/20/2021 11:55 AM, Jiawei Wang wrote: >>> To support more meters and better performance, MLX HW provides ASO >>> (Advanced Steering Operation) 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. >>> V6: Fix comments and update release notes. >>> >>> Jiawei Wang (1): >>> doc: update release notes for ASO meter >>> >>> 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: add meter ASO queue management >>> 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 >>> >> >> Hi Li, >> >> The request in previous patch was to add some documentation on the new >> feature in driver documentation, plus some design documentation if needed, >> not just release notes update. >> >> But this patch become on the critical path for -rc1, since an mlx ethdev patch >> depends on this patch, I want to block them for the release, instead does it >> make sense the have the documentation update for the -rc2, what do you >> think? >> >> Thanks, >> ferruh > > Hello Ferruh, > The ASO is not a new concept, and is already used by other features like shared RSS and sharing Aging. > Regardless, I agree we can improve documention of the driver, as always 😊 +1 > We'll take it as part of -rc2, and would appreciate the integration of this patchset in the meanwhile. > A correction from above, "I _don't_ want to block them for the release" and already working on it, the documentation update can be merged on -rc2. Thanks.