From mboxrd@z Thu Jan 1 00:00:00 1970 From: Santosh Shukla Subject: [PATCH v5 0/2] Dynamically configure mempool handle Date: Sun, 1 Oct 2017 14:44:38 +0530 Message-ID: <20171001091440.10232-1-santosh.shukla@caviumnetworks.com> References: <20170911151837.25092-1-santosh.shukla@caviumnetworks.com> Mime-Version: 1.0 Content-Type: text/plain Cc: thomas@monjalon.net, jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com, Santosh Shukla To: olivier.matz@6wind.com, dev@dpdk.org Return-path: Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0073.outbound.protection.outlook.com [104.47.33.73]) by dpdk.org (Postfix) with ESMTP id AF62B37B1 for ; Sun, 1 Oct 2017 11:14:59 +0200 (CEST) In-Reply-To: <20170911151837.25092-1-santosh.shukla@caviumnetworks.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" v5: - Includes v4 minor review comment. Patches rebased on upstream tip / commit id:5dce9fcdb2 v4: - Includes v3 review coment changes. Patches rebased on 06791a4bce: ethdev: get the supported pools for a port v3: - Rebased on top of v17.11-rc0 - Updated version.map entry to v17.11. v2: DPDK has support for hw and sw mempool. Those mempool can work optimal for specific PMD's. Example: sw ring based PMD for Intel NICs. HW mempool manager dpaa2 for dpaa2 PMD. HW mempool manager fpa for octeontx PMD. There could be a use-case where different vendor NIC's used on the same platform and User like to configure mempool in such a way that each of those NIC's should use their preferred mempool(For performance reasons). Current mempool infrastrucure don't support such use-case. This patchset tries to address that problem in 2 steps: 0) Allowing user to dynamically configure mempool handle by passing pool handle as eal arg to `--mbuf-pool-ops-name=`. 1) Allowing PMD's to advertise their pool capability to an application. >>From an application point of view: - The application must ask to PMD about supported pools. - PMD will advertise his pool capability in priority order '0' - Best match mempool ops for _that_ port (highest priority) '1' - PMD support this mempool ops. - Based on those i/p from PMD, application to chose pool-hdl and do pool create. Change History: v5 --> v4: - Renamed mbuf_pool_name to mbuf_pool_ops_name in [01/02]. (Suggested by Olivier) - Incorporated review comment suggested by Olivier for [02/02]. Refer specific patch for v5 change history. v3 --> v4: - Removed RTE_MBUF_XXX_POOL_NAMESIZE macro and replaced mbuf_pool_name with const. (Suggested by Olivier) - Added eal arg info in doc guide. - Removed _preferred_pool() api and replaced with rte_eth_dev_pools_ops_supported() api (Suggested by Olivier) v2 --> v3: - Changed version.map from DPDK_17.08 to DPDK_17.11. v1 --> v2: - Renamed rte_eal_get_mempool_name to rte_eal_mbuf_default_mempool_ops(). (suggested by Olivier) - Renamed _get_preferred_pool to _get_preferred_pool_ops(). - Updated API description and changes return val from -EINVAL to -ENOTSUP. (Suggested by Olivier) * Specific details on v1-->v2 change summary described in each patch. Checkpatch status: - None. Work History: * Refer [1] for v1. Thanks. [1] http://dpdk.org/ml/archives/dev/2017-June/067022.html Santosh Shukla (2): eal: allow user to override default pool handle ethdev: get the supported pool for a port doc/guides/freebsd_gsg/build_sample_apps.rst | 3 +++ doc/guides/linux_gsg/build_sample_apps.rst | 3 +++ doc/guides/testpmd_app_ug/run_app.rst | 4 ++++ lib/librte_eal/bsdapp/eal/eal.c | 10 ++++++++++ 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 | 11 +++++++++++ lib/librte_eal/linuxapp/eal/rte_eal_version.map | 7 +++++++ lib/librte_ether/rte_ethdev.c | 18 ++++++++++++++++++ lib/librte_ether/rte_ethdev.h | 24 ++++++++++++++++++++++++ lib/librte_ether/rte_ethdev_version.map | 1 + lib/librte_mbuf/rte_mbuf.c | 5 +++-- 15 files changed, 106 insertions(+), 3 deletions(-) -- 2.14.1