From mboxrd@z Thu Jan 1 00:00:00 1970 From: Santosh Shukla Subject: [PATCH 0/2] Allow application set mempool handle Date: Thu, 1 Jun 2017 13:35:57 +0530 Message-ID: <20170601080559.10684-1-santosh.shukla@caviumnetworks.com> Mime-Version: 1.0 Content-Type: text/plain Cc: hemant.agrawal@nxp.com, jerin.jacob@caviumnetworks.com, Santosh Shukla To: olivier.matz@6wind.com, dev@dpdk.org Return-path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0054.outbound.protection.outlook.com [104.47.36.54]) by dpdk.org (Postfix) with ESMTP id C40DC5A98 for ; Thu, 1 Jun 2017 10:06:45 +0200 (CEST) List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Some platform can have two different NICs for example external PCI Intel 40G card and Integrated NIC like vNIC/octeontx/dpaa2. Both NICs like to use their preferred pool e.g. external PCI card/ vNIC's preferred pool would be the ring based pool and octeontx/dpaa2 preferred would be ext-mempools. Right now, Framework doesn't support such case. Only one pool can be used across two different NIC's. For that, user has to statically set CONFIG_RTE_MEMPOOL_DEFAULT_OPS=. So proposing two approaches: Patch 1) Introducing eal option --pkt-mempool= Patch 2) Introducing ethdev API called _get_preferred_pool(), where PMD driver gets a chance to advertise their pool capability to the application. And based on that hint- application creates pools for that driver. Santosh Shukla (2): eal: Introducing option to set mempool handle ether/ethdev: Allow pmd to advertise preferred pool capability lib/librte_eal/bsdapp/eal/eal.c | 9 +++++++ lib/librte_eal/bsdapp/eal/rte_eal_version.map | 7 +++++ lib/librte_eal/common/eal_common_options.c | 3 +++ lib/librte_eal/common/eal_internal_cfg.h | 2 ++ lib/librte_eal/common/eal_options.h | 2 ++ lib/librte_eal/common/include/rte_eal.h | 9 +++++++ lib/librte_eal/linuxapp/eal/eal.c | 36 +++++++++++++++++++++++++ lib/librte_eal/linuxapp/eal/rte_eal_version.map | 7 +++++ lib/librte_ether/rte_ethdev.c | 16 +++++++++++ lib/librte_ether/rte_ethdev.h | 21 +++++++++++++++ lib/librte_ether/rte_ether_version.map | 7 +++++ lib/librte_mbuf/rte_mbuf.c | 8 ++++-- 12 files changed, 125 insertions(+), 2 deletions(-) -- 2.11.0