[v2,00/10] net/mlx5: optimize flow structure
Message ID | 1587026071-422636-1-git-send-email-suanmingm@mellanox.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 75797A0588; Thu, 16 Apr 2020 10:34:37 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 460511DB42; Thu, 16 Apr 2020 10:34:37 +0200 (CEST) Received: from git-send-mailer.rdmz.labs.mlnx (unknown [37.142.13.130]) by dpdk.org (Postfix) with ESMTP id 4C1171DB36 for <dev@dpdk.org>; Thu, 16 Apr 2020 10:34:36 +0200 (CEST) From: Suanming Mou <suanmingm@mellanox.com> To: viacheslavo@mellanox.com, matan@mellanox.com Cc: orika@mellanox.com, wentaoc@mellanox.com, rasland@mellanox.com, dev@dpdk.org Date: Thu, 16 Apr 2020 16:34:21 +0800 Message-Id: <1587026071-422636-1-git-send-email-suanmingm@mellanox.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <https://patches.dpdk.org/cover/68470/> References: <https://patches.dpdk.org/cover/68470/> Subject: [dpdk-dev] [PATCH v2 00/10] net/mlx5: optimize flow structure 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
April 16, 2020, 8:34 a.m. UTC
This patch set is third part of the flow memory consumption optimization. It mainly optimizes the rte flow and mlx5 flow handle structure. For mlx5 flow handle structure: 1. As one flow has only one fate action, the fate actions are reorganized as union. 2. The action flags are optimized to be the limited bits the flow needs. 3. The bits members are reorganized to align with bytes. For rte flow structure: 1. Meter handle is converted to uint32_t type as unique meter id. 2. Fdir handle is converted to one bit to save the pointer to another list. 3. Metadata handle is converted to uint32_t type as indexed. 4. Remove the duplicated RSS member in rte flow. 5. The bit members are reorganized to align with bytes. Some extra optimizations: 1. Allocate meter resource from indexed memory pool. 2. Allocate rte flow from indexed memory pool. 3. Split RSS type, level, key to common memory as they are not required for the flow destroy. This patch set should be applied after the patch series as below: https://patches.dpdk.org/cover/68591/ v2: - Add unified routine for fate actions release. - Rmove RSS totally from rte flow. - Allocate rte flow totally from indexed memory pool. Suanming Mou (9): net/mlx5: reorganize fate actions as union net/mlx5: optimize action flags in flow handle net/mlx5: reorganize the mlx5 flow handle struct net/mlx5: optimize flow meter handle type net/mlx5: allocate meter from indexed pool net/mlx5: convert mark copy resource to indexed net/mlx5: optimize mlx5 flow RSS struct net/mlx5: allocate rte flow from indexed pool net/mlx5: reorganize rte flow structure Wentao Cui (1): net/mlx5: optimize flow director filter memory drivers/net/mlx5/mlx5.c | 38 +++- drivers/net/mlx5/mlx5.h | 19 +- drivers/net/mlx5/mlx5_flow.c | 406 +++++++++++++++++++++++-------------- drivers/net/mlx5/mlx5_flow.h | 89 +++++--- drivers/net/mlx5/mlx5_flow_dv.c | 214 +++++++++++-------- drivers/net/mlx5/mlx5_flow_meter.c | 11 +- drivers/net/mlx5/mlx5_flow_verbs.c | 98 +++++---- 7 files changed, 554 insertions(+), 321 deletions(-)