[v3,00/34] net/mlx5: support multiple-thread flow operations
Message ID | 1603801650-442376-1-git-send-email-suanmingm@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 dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id B2E5FA04B5; Tue, 27 Oct 2020 13:27:41 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 17C352BE2; Tue, 27 Oct 2020 13:27:40 +0100 (CET) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id 24CA52BD3 for <dev@dpdk.org>; Tue, 27 Oct 2020 13:27:37 +0100 (CET) Received: from Internal Mail-Server by MTLPINE1 (envelope-from suanmingm@nvidia.com) with SMTP; 27 Oct 2020 14:27:36 +0200 Received: from nvidia.com (mtbc-r640-04.mtbc.labs.mlnx [10.75.70.9]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 09RCRZ6w024637 for <dev@dpdk.org>; Tue, 27 Oct 2020 14:27:35 +0200 From: Suanming Mou <suanmingm@nvidia.com> To: Cc: dev@dpdk.org Date: Tue, 27 Oct 2020 20:26:55 +0800 Message-Id: <1603801650-442376-1-git-send-email-suanmingm@nvidia.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1601984948-313027-1-git-send-email-suanmingm@nvidia.com> References: <1601984948-313027-1-git-send-email-suanmingm@nvidia.com> Subject: [dpdk-dev] [PATCH v3 00/34] net/mlx5: support multiple-thread flow operations X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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> |
Message
Suanming Mou
Oct. 27, 2020, 12:26 p.m. UTC
This patch set contains multiple-thread flow operations support for the flow objects. Suanming Mou (19): net/mlx5: use thread safe index pool for flow objects net/mlx5: make meter action thread safe net/mlx5: make VLAN network interface thread safe net/mlx5: create global jump action net/mlx5: create global default miss action net/mlx5: create global drop action net/mlx5: add flow table tunnel offload attribute net/mlx5: fix redundant Direct Verbs resources allocate net/mlx5: remove unused mreg copy code net/mlx5: make header reformat action thread safe net/mlx5: optimize shared RSS list operation net/mlx5: make Rx queue thread safe net/mlx5: simplify sample attributes net/mlx5: fix sample register error flow net/mlx5: make sample and mirror action thread safe net/mlx5: make tunnel offloading table thread safe net/mlx5: remove unused hash list operations net/mlx5: make tunnel hub list thread safe net/mlx5: make shared action list thread safe Xueming Li (15): net/mlx5: use thread specific flow workspace net/mlx5: reuse flow Id as hairpin Id net/mlx5: indexed pool supports zero size entry net/mlx5: use indexed pool as ID generator net/mlx5: make rte flow list thread safe net/mlx5: support concurrent access for hash list net/mlx5: make flow table cache thread safe net/mlx5: make flow tag list thread safe net/mlx5: make flow modify action list thread safe net/mlx5: make metadata copy flow list thread safe net/mlx5: introduce thread safe linked list cache net/mlx5: make matcher list thread safe net/mlx5: make port ID action cache thread safe net/mlx5: make push VLAN action cache thread safe net/mlx5: remove shared context lock --- v3: - rebase the code on top of the new added features. - New feature code adaption for multiple-thread support. v2: - fix review comments. - remove unused mreg copy code. - drop the sh lock removing patch as new feature still not fully updated. --- doc/guides/nics/mlx5.rst | 1 + doc/guides/rel_notes/release_20_11.rst | 1 + drivers/common/mlx5/linux/mlx5_nl.h | 1 + drivers/net/mlx5/linux/mlx5_os.c | 119 +- drivers/net/mlx5/linux/mlx5_vlan_os.c | 5 + drivers/net/mlx5/mlx5.c | 281 +--- drivers/net/mlx5/mlx5.h | 69 +- drivers/net/mlx5/mlx5_flow.c | 756 +++++------ drivers/net/mlx5/mlx5_flow.h | 164 ++- drivers/net/mlx5/mlx5_flow_dv.c | 2240 +++++++++++++++----------------- drivers/net/mlx5/mlx5_flow_meter.c | 72 +- drivers/net/mlx5/mlx5_flow_verbs.c | 86 +- drivers/net/mlx5/mlx5_rxq.c | 302 +++-- drivers/net/mlx5/mlx5_rxtx.h | 23 +- drivers/net/mlx5/mlx5_utils.c | 345 ++++- drivers/net/mlx5/mlx5_utils.h | 320 ++++- 16 files changed, 2460 insertions(+), 2325 deletions(-)