From patchwork Fri Oct 7 17:29:17 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Rybchenko X-Patchwork-Id: 117575 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 BC7F4A00C4; Fri, 7 Oct 2022 19:29:24 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B055F40DDC; Fri, 7 Oct 2022 19:29:24 +0200 (CEST) Received: from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113]) by mails.dpdk.org (Postfix) with ESMTP id AB53540151 for ; Fri, 7 Oct 2022 19:29:23 +0200 (CEST) Received: by shelob.oktetlabs.ru (Postfix, from userid 115) id 39B4387; Fri, 7 Oct 2022 20:29:23 +0300 (MSK) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mail1.oktetlabs.ru X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=ALL_TRUSTED, DKIM_ADSP_DISCARD autolearn=no autolearn_force=no version=3.4.6 Received: from aros.oktetlabs.ru (aros.oktetlabs.ru [192.168.38.17]) by shelob.oktetlabs.ru (Postfix) with ESMTP id 9A6D67B; Fri, 7 Oct 2022 20:29:22 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru 9A6D67B Authentication-Results: shelob.oktetlabs.ru/9A6D67B; dkim=none; dkim-atps=neutral From: Andrew Rybchenko To: Hanumanth Pothula , Thomas Monjalon , Ferruh Yigit Cc: dev@dpdk.org Subject: [PATCH v8 0/4] ethdev: support mulitiple mbuf pools per Rx queue Date: Fri, 7 Oct 2022 20:29:17 +0300 Message-Id: <20221007172921.3325250-1-andrew.rybchenko@oktetlabs.ru> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20221006170126.1322852-1-hpothula@marvell.com> References: <20221006170126.1322852-1-hpothula@marvell.com> MIME-Version: 1.0 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 I'm not sure in testpmd patch. Review would be useful and may be we should postpone it to rc2. v8: - Process review notes v7: - Drop RTE_ETH_RX_OFFLOAD_MUL_MEMPOOL offload which seems to be unnecessary. Positive max_rx_mempools in dev_info is sufficient to indicate that the capability is support and positive number of mempools in Rx configuration is sufficient to request it. - Add helper patch to factor out Rx mempool check to be shared for single mempool, buffer split and multiple mempools case. - Refine check for a way to provide Rx buffers to be one and only one. Either single mempool, or buffer split, or multi mempool. - Drop feature advertisement in net/cnxk patch since there is no such feature defined yet. I have no strong opinion if a new feature is required or not. v6: - Updated release notes, release_22_11.rst. v5: - Declared memory pools as struct rte_mempool **rx_mempools rather than as struct rte_mempool *mp. - Added the feature in release notes. - Updated conditions and strings as per review comments. v4: - Renamed Offload capability name from RTE_ETH_RX_OFFLOAD_BUFFER_SORT to RTE_ETH_RX_OFFLOAD_MUL_MEMPOOL. - In struct rte_eth_rxconf, defined new pointer, which holds array of type struct rte_eth_rx_mempool(memory pools). This array is used by PMD to program multiple mempools. v3: - Implemented Pool Sort capability as new Rx offload capability, RTE_ETH_RX_OFFLOAD_BUFFER_SORT. v2: - Along with spec changes, uploading testpmd and driver changes. Andrew Rybchenko (1): ethdev: factor out helper function to check Rx mempool Hanumanth Pothula (3): ethdev: support multiple mbuf pools per Rx queue net/cnxk: support mulitiple mbuf pools per Rx queue app/testpmd: support mulitiple mbuf pools per Rx queue app/test-pmd/testpmd.c | 34 ++++-- app/test-pmd/testpmd.h | 3 + app/test-pmd/util.c | 4 +- doc/guides/rel_notes/release_22_11.rst | 6 + drivers/net/cnxk/cnxk_ethdev.c | 84 +++++++++++-- drivers/net/cnxk/cnxk_ethdev.h | 2 + drivers/net/cnxk/cnxk_ethdev_ops.c | 3 + lib/ethdev/rte_ethdev.c | 157 +++++++++++++++++-------- lib/ethdev/rte_ethdev.h | 29 +++++ 9 files changed, 253 insertions(+), 69 deletions(-)