From patchwork Mon Apr 13 01:11:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Suanming Mou X-Patchwork-Id: 68226 Return-Path: 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 D35B1A0577; Mon, 13 Apr 2020 03:11:58 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C9C732986; Mon, 13 Apr 2020 03:11:57 +0200 (CEST) Received: from git-send-mailer.rdmz.labs.mlnx (unknown [37.142.13.130]) by dpdk.org (Postfix) with ESMTP id 668601B53 for ; Mon, 13 Apr 2020 03:11:56 +0200 (CEST) From: Suanming Mou To: Cc: rasland@mellanox.com, dev@dpdk.org Date: Mon, 13 Apr 2020 09:11:39 +0800 Message-Id: <1586740309-449310-1-git-send-email-suanmingm@mellanox.com> X-Mailer: git-send-email 1.8.3.1 Subject: [dpdk-dev] [PATCH 00/10] net/mlx5: optimize flow resource allocation X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" Currently, flow may allocate several action resources during creation. Both allocate the individual resources and save the object handles have big memory overhead for the flow. Indexed memory pool is introduced to optimize the memory overhead. The resources can be allocated from the resource's own individual memory pool and only the 32-bits index is saved to the flow. In this case, it saves MALLOC_ELEM_OVERHEAD and 4 bytes for every flow resources. This patch series depends on the path which has been acked as below: https://patches.dpdk.org/patch/68143/ Suanming Mou (10): net/mlx5: add indexed memory pool net/mlx5: add trunk dynamic grow for indexed pool net/mlx5: add trunk release for indexed pool net/mlx5: convert encap/decap resource to indexed net/mlx5: convert push VLAN resource to indexed net/mlx5: convert tag resource to indexed net/mlx5: convert port id action to indexed net/mlx5: convert jump resource to indexed net/mlx5: convert hrxq to indexed net/mlx5: convert flow dev handle to indexed drivers/net/mlx5/mlx5.c | 148 ++++++++++++++- drivers/net/mlx5/mlx5.h | 25 ++- drivers/net/mlx5/mlx5_flow.c | 23 ++- drivers/net/mlx5/mlx5_flow.h | 47 +++-- drivers/net/mlx5/mlx5_flow_dv.c | 271 +++++++++++++++++++--------- drivers/net/mlx5/mlx5_flow_verbs.c | 53 ++++-- drivers/net/mlx5/mlx5_rxq.c | 47 +++-- drivers/net/mlx5/mlx5_rxtx.h | 22 +-- drivers/net/mlx5/mlx5_utils.c | 361 +++++++++++++++++++++++++++++++++++++ drivers/net/mlx5/mlx5_utils.h | 247 +++++++++++++++++++++++++ 10 files changed, 1070 insertions(+), 174 deletions(-)