From patchwork Tue Apr 11 07:55:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ashwin Sekhar T K X-Patchwork-Id: 125900 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 8B23842919; Tue, 11 Apr 2023 09:55:43 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7A9FA410F9; Tue, 11 Apr 2023 09:55:43 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 91CA540A8B for ; Tue, 11 Apr 2023 09:55:42 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 33ALFNc2021558 for ; Tue, 11 Apr 2023 00:55:41 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=HosyOr7ie4zlRyy9AHPMefMqSBpDBTnq1N/c3+Fy8tA=; b=WolkWsGncXpM7zJbwhCwpwH/n25bJFwZw9BGnKBvCYI3c5AHzDgVHUBOecFYNaIrTyFg opR0ETZ9bSzVUgycKW8Yc0jCnXLZqS0Amk6X0UzxjstWPrwFUKCvyE/uFI8DPXlimmcq qof0vkAQQ1h3pUnTjCnI9E4zWS2mCBZXhn1Mw6mK7V6L7bVbzpkML7MadEUZQsYSdvTC d4FT2P389gwPiq50c08i9Y8BdcTSjN9gtsSpZ5QwWcR1k4KmruFLlrWCRrm3PEUze7he 3Is3evWRCIYruMwyWYmRGHadP/3fJfdRms2cI5JSSfSkIxuORqBUXzOVFEKXhfzfAltr 1w== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3pvt73ajvf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Tue, 11 Apr 2023 00:55:40 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Tue, 11 Apr 2023 00:55:39 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.48 via Frontend Transport; Tue, 11 Apr 2023 00:55:39 -0700 Received: from localhost.localdomain (unknown [10.28.36.142]) by maili.marvell.com (Postfix) with ESMTP id 9AFF73F7041; Tue, 11 Apr 2023 00:55:35 -0700 (PDT) From: Ashwin Sekhar T K To: CC: , , , , , , , , , , Subject: [PATCH 0/5] add hwpools and support exchanging mbufs between pools Date: Tue, 11 Apr 2023 13:25:23 +0530 Message-ID: <20230411075528.1125799-1-asekhar@marvell.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Proofpoint-GUID: fZKqcaEC3fPtgiJY9WlEb5guacjCn3tR X-Proofpoint-ORIG-GUID: fZKqcaEC3fPtgiJY9WlEb5guacjCn3tR X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-11_04,2023-04-06_03,2023-02-09_01 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 This patch series enables the creation of special types of pool in cnxk mempool PMD called as hwpools. A hwpool will not have any buffers of its own but instead will only have a hardware AURA associated with it. This hwpool will be attached to another normal rte_mempool and the hwpool will use the buffers from this attached rte_mempool during alloc/free. The hwpool leverages the POOL:AURA association in cnxk hardware to achieve this. This patch series also adds the support for exchanging mbuf buffers between cnxk mempools. The pools must have buffers of same size and the range check for the pools must be disabled while exchanging mbufs. Ashwin Sekhar T K (5): mempool/cnxk: use pool config to pass flags common/cnxk: add NPA aura create/destroy ROC APIs mempool/cnxk: add NPA aura range get/set APIs mempool/cnxk: add hwpool ops mempool/cnxk: add support for exchanging mbufs between pools drivers/common/cnxk/roc_nix_queue.c | 2 +- drivers/common/cnxk/roc_npa.c | 254 +++++++++++++++++- drivers/common/cnxk/roc_npa.h | 10 + drivers/common/cnxk/roc_sso.c | 2 +- drivers/common/cnxk/version.map | 4 + drivers/mempool/cnxk/cn10k_hwpool_ops.c | 272 ++++++++++++++++++++ drivers/mempool/cnxk/cnxk_mempool.h | 32 +++ drivers/mempool/cnxk/cnxk_mempool_ops.c | 19 +- drivers/mempool/cnxk/meson.build | 2 + drivers/mempool/cnxk/rte_pmd_cnxk_mempool.h | 56 ++++ drivers/mempool/cnxk/version.map | 10 + drivers/net/cnxk/cnxk_ethdev_sec.c | 25 +- 12 files changed, 658 insertions(+), 30 deletions(-) create mode 100644 drivers/mempool/cnxk/cn10k_hwpool_ops.c create mode 100644 drivers/mempool/cnxk/rte_pmd_cnxk_mempool.h create mode 100644 drivers/mempool/cnxk/version.map