From patchwork Tue Apr 13 00:10:18 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhang X-Patchwork-Id: 91126 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 D09CDA0524; Tue, 13 Apr 2021 02:10:47 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 78E6E160893; Tue, 13 Apr 2021 02:10:43 +0200 (CEST) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by mails.dpdk.org (Postfix) with ESMTP id 38184160891 for ; Tue, 13 Apr 2021 02:10:40 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE1 (envelope-from lizh@nvidia.com) with SMTP; 13 Apr 2021 03:10:37 +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 13D0Abk5021795; Tue, 13 Apr 2021 03:10:37 +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: Tue, 13 Apr 2021 03:10:18 +0300 Message-Id: <20210413001033.1999355-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 v3 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. 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 | 108 ++- 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, 2330 insertions(+), 830 deletions(-) rename drivers/net/mlx5/{mlx5_flow_age.c => mlx5_flow_aso.c} (65%)