From patchwork Wed Apr 14 02:57:21 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhang X-Patchwork-Id: 91377 Return-Path: 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 D0500A0524; Wed, 14 Apr 2021 04:57:46 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4FF4B16152F; Wed, 14 Apr 2021 04:57:46 +0200 (CEST) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by mails.dpdk.org (Postfix) with ESMTP id 64ECE16153B for ; Wed, 14 Apr 2021 04:57:45 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE1 (envelope-from lizh@nvidia.com) with SMTP; 14 Apr 2021 05:57:43 +0300 Received: from nvidia.com (c-135-185-1-009.mtl.labs.mlnx [10.135.185.9]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 13E2vh4e010194; Wed, 14 Apr 2021 05:57:43 +0300 From: Li Zhang 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: Wed, 14 Apr 2021 05:57:21 +0300 Message-Id: <20210414025736.31142-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 Subject: [dpdk-dev] [PATCH v4 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 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%)