DPDK patches and discussions
 help / color / mirror / Atom feed
From: Hemant Agrawal <hemant.agrawal@nxp.com>
To: <dev@dpdk.org>
Cc: <jerin.jacob@caviumnetworks.com>, <olivier.matz@6wind.com>,
	<santosh.shukla@caviumnetworks.com>
Subject: [dpdk-dev] [PATCH v5 0/7] Dynamic HW Mempool Detection Support
Date: Sat, 20 Jan 2018 11:45:01 +0530	[thread overview]
Message-ID: <1516428908-5430-1-git-send-email-hemant.agrawal@nxp.com> (raw)
In-Reply-To: <1516379639-25586-1-git-send-email-hemant.agrawal@nxp.com>

W.r.t the multiple discussions in the past about the ability to
dynamically detect the HW mempool support. [1],[2] & [3]

This patchset helps in removing the current static mempool selection
model and provides a flexible model to select the pktmbuf mempool
in more dynamic way.

1) This patchset updates the hw mempool on the basis of device probe()),
   thus avoiding the need to specify the hw mempool in config file and
   focing different binaries for diffirent config architectures.
2) Selection of mempool ops though --mbuf-pool-ops-name (cmd line arg)
   which can overridden the scheme(1)
3) A new best mempool ops selection logic.
4) A new wrapper for the pktmbuf_pool_create helper to take mempool ops
   name as an argument as well.

*Future Discussion points*

1. Platform OPS name is to be registered by the respentive HW. So it
is the responsibility of HW to take care of not registering it from
secondary process.

2. This logic can be further extended with addition for following
patch, which is still under discussion. The ethdev PMD capability exposed
through existing rte_eth_dev_pool_ops_supported() to select the update
the mempool ops with some "weight" based algorithm like:
http://dpdk.org/dev/patchwork/patch/32245/

[1]Multiple Pktmbuf mempool support
http://dpdk.org/ml/archives/dev/2017-September/076531.html
[2]Allow application set mempool handle
http://dpdk.org/ml/archives/dev/2017-June/067022.html
Other discussions
[3] http://dpdk.org/ml/archives/dev/2017-December/084775.html
------
Changes in v5:
1. Fix the doxygen API issues
2. remove unnecessary memset.

Changes in v4:
1. Taking care of Olivier's comments
2. Changing the mempool ops name memory to named memzone 

Changes in v3:
1. Moving the new mbuf APIs to rte_mbuf_pool_ops.h
2. Taking care of comments from Jerin and Olivier
3. Adding memory for platform mempools ops in librte_mbuf

Changes in v2:
1. Changed the active mempool to platform mempool
2. Moved all the relavant APIs to librte_mbuf
3. Added pktmbuf_create_pool_specific wrapper in this patch series.

Hemant Agrawal (6):
  eal: prefix mbuf pool ops name with user defined
  mbuf: maintain user and compile time mempool ops name
  mbuf: add pool ops name selection API helpers
  mbuf: pktmbuf pool create helper for specific mempool ops
  dpaa: register dpaa as platform HW mempool on runtime
  dpaa2: register dpaa2 as platform HW mempool on runtime

Pavan Nikhilesh (1):
  app/testpmd: set preferred mempool as default pktpool

 app/test-pmd/testpmd.c                     |  3 +
 config/defconfig_arm64-dpaa-linuxapp-gcc   |  1 -
 config/defconfig_arm64-dpaa2-linuxapp-gcc  |  1 -
 doc/api/doxy-api-index.md                  |  1 +
 drivers/bus/dpaa/dpaa_bus.c                |  2 +
 drivers/bus/dpaa/rte_dpaa_bus.h            |  2 +
 drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c   |  3 +
 drivers/bus/fslmc/portal/dpaa2_hw_pvt.h    |  2 +
 drivers/mempool/dpaa/dpaa_mempool.c        |  2 +-
 drivers/mempool/dpaa2/dpaa2_hw_mempool.c   |  2 +-
 lib/librte_eal/bsdapp/eal/eal.c            |  4 +-
 lib/librte_eal/common/eal_common_options.c |  2 +-
 lib/librte_eal/common/eal_internal_cfg.h   |  3 +-
 lib/librte_eal/linuxapp/eal/eal.c          |  4 +-
 lib/librte_mbuf/Makefile                   |  4 +-
 lib/librte_mbuf/rte_mbuf.c                 | 24 ++++++--
 lib/librte_mbuf/rte_mbuf.h                 | 42 +++++++++++++
 lib/librte_mbuf/rte_mbuf_pool_ops.c        | 96 ++++++++++++++++++++++++++++++
 lib/librte_mbuf/rte_mbuf_pool_ops.h        | 91 ++++++++++++++++++++++++++++
 lib/librte_mbuf/rte_mbuf_version.map       | 11 ++++
 20 files changed, 282 insertions(+), 18 deletions(-)
 create mode 100644 lib/librte_mbuf/rte_mbuf_pool_ops.c
 create mode 100644 lib/librte_mbuf/rte_mbuf_pool_ops.h

-- 
2.7.4

  parent reply	other threads:[~2018-01-20  7:25 UTC|newest]

Thread overview: 112+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-04 12:22 [dpdk-dev] [PATCH 0/2] Multiple Pktmbuf mempool support Hemant Agrawal
2017-07-04 12:22 ` [dpdk-dev] [PATCH 1/2] mempool: check the support for the given mempool Hemant Agrawal
2017-07-04 12:22 ` [dpdk-dev] [PATCH 2/2] mbuf: add support for preferred mempool list Hemant Agrawal
2017-09-22  7:13 ` [dpdk-dev] [PATCH 0/2] Multiple Pktmbuf mempool support Hemant Agrawal
2017-09-25 10:24   ` Olivier MATZ
2017-10-10 14:15     ` Thomas Monjalon
2017-10-10 14:21       ` Hemant Agrawal
2017-12-15 10:24 ` [dpdk-dev] [PATCH 0/2] Dynamic HW Mempool Detection Support Hemant Agrawal
2017-12-15 10:24   ` [dpdk-dev] [PATCH 1/2] mbuf: update default Mempool ops with HW active pool Hemant Agrawal
2017-12-15 15:52     ` Stephen Hemminger
2017-12-18  9:26       ` Hemant Agrawal
2017-12-18  8:55     ` Jerin Jacob
2017-12-18  9:36       ` Hemant Agrawal
2017-12-22 14:59         ` Olivier MATZ
2017-12-28 12:07           ` Hemant Agrawal
2018-01-10 12:49             ` Hemant Agrawal
2017-12-22 14:41     ` Olivier MATZ
2017-12-15 10:24   ` [dpdk-dev] [PATCH 2/2] dpaa2: register dpaa2 mempool ops as active mempool Hemant Agrawal
2017-12-18  8:57     ` Jerin Jacob
2017-12-18  9:25       ` Hemant Agrawal
2018-01-15  6:11   ` [dpdk-dev] [PATCH v2 0/5] Dynamic HW Mempool Detection Support Hemant Agrawal
2018-01-15  6:11     ` [dpdk-dev] [PATCH v2 1/5] eal: prefix mbuf pool ops name with user defined Hemant Agrawal
2018-01-15  6:11     ` [dpdk-dev] [PATCH v2 2/5] eal: add platform mempool ops name in internal config Hemant Agrawal
2018-01-15 12:24       ` Jerin Jacob
2018-01-15 14:31         ` Hemant Agrawal
2018-01-15 16:26           ` Jerin Jacob
2018-01-16 15:04             ` Olivier Matz
2018-01-16 15:08               ` Jerin Jacob
2018-01-15  6:11     ` [dpdk-dev] [PATCH v2 3/5] mbuf: support register mempool Hw ops name APIs Hemant Agrawal
2018-01-15 11:41       ` Jerin Jacob
2018-01-15 14:24         ` Hemant Agrawal
2018-01-15 14:37           ` Jerin Jacob
2018-01-15 12:36       ` Jerin Jacob
2018-01-16 15:09       ` Olivier Matz
2018-01-15  6:11     ` [dpdk-dev] [PATCH v2 4/5] mbuf: pktmbuf pool create helper for specific mempool ops Hemant Agrawal
2018-01-15 12:31       ` Jerin Jacob
2018-01-15 14:32         ` Hemant Agrawal
2018-01-15  6:11     ` [dpdk-dev] [PATCH v2 5/5] mbuf: add user command line config mempools ops API Hemant Agrawal
2018-01-15 12:29       ` Jerin Jacob
2018-01-15 14:35         ` Hemant Agrawal
2018-01-15 16:23           ` Jerin Jacob
2018-01-16 15:01     ` [dpdk-dev] [PATCH v2 0/5] Dynamic HW Mempool Detection Support Olivier Matz
2018-01-18 11:47       ` Hemant Agrawal
2018-01-18 13:42         ` Olivier Matz
2018-01-18 13:26     ` [dpdk-dev] [PATCH v3 0/7] " Hemant Agrawal
2018-01-18 13:26       ` [dpdk-dev] [PATCH v3 1/7] eal: prefix mbuf pool ops name with user defined Hemant Agrawal
2018-01-19 10:01         ` Olivier Matz
2018-01-18 13:26       ` [dpdk-dev] [PATCH v3 2/7] eal: add API to set user default mbuf mempool ops Hemant Agrawal
2018-01-19 10:01         ` Olivier Matz
2018-01-19 12:31           ` Hemant Agrawal
2018-01-19 12:43             ` Olivier Matz
2018-01-18 13:26       ` [dpdk-dev] [PATCH v3 3/7] mbuf: add pool ops name selection API helpers Hemant Agrawal
2018-01-19 10:01         ` Olivier Matz
2018-01-19 12:41           ` Hemant Agrawal
2018-01-19 13:10             ` Olivier Matz
2018-01-18 13:26       ` [dpdk-dev] [PATCH v3 4/7] mbuf: pktmbuf pool create helper for specific mempool ops Hemant Agrawal
2018-01-18 13:26       ` [dpdk-dev] [PATCH v3 5/7] app/testpmd: set preferred mempool as default pktpool Hemant Agrawal
2018-01-19 10:01         ` Olivier Matz
2018-01-18 13:26       ` [dpdk-dev] [PATCH v3 6/7] dpaa2: register dpaa2 as platform HW mempool on runtime Hemant Agrawal
2018-01-18 13:26       ` [dpdk-dev] [PATCH v3 7/7] dpaa: register dpaa " Hemant Agrawal
2018-01-19 16:33       ` [dpdk-dev] [PATCH v4 0/7] Dynamic HW Mempool Detection Support Hemant Agrawal
2018-01-19 16:33         ` [dpdk-dev] [PATCH v4 1/7] eal: prefix mbuf pool ops name with user defined Hemant Agrawal
2018-01-19 16:33         ` [dpdk-dev] [PATCH v4 2/7] mbuf: maintain user and compile time mempool ops name Hemant Agrawal
2018-01-19 16:33         ` [dpdk-dev] [PATCH v4 3/7] mbuf: add pool ops name selection API helpers Hemant Agrawal
2018-01-19 16:33         ` [dpdk-dev] [PATCH v4 4/7] mbuf: pktmbuf pool create helper for specific mempool ops Hemant Agrawal
2018-01-19 16:33         ` [dpdk-dev] [PATCH v4 5/7] app/testpmd: set preferred mempool as default pktpool Hemant Agrawal
2018-01-19 16:33         ` [dpdk-dev] [PATCH v4 6/7] dpaa: register dpaa as platform HW mempool on runtime Hemant Agrawal
2018-01-19 16:33         ` [dpdk-dev] [PATCH v4 7/7] dpaa2: register dpaa2 " Hemant Agrawal
2018-01-20  6:15         ` Hemant Agrawal [this message]
2018-01-20  6:15           ` [dpdk-dev] [PATCH v5 1/7] eal: prefix mbuf pool ops name with user defined Hemant Agrawal
2018-01-22 13:23             ` Olivier Matz
2018-01-22 13:24             ` Hemant Agrawal
2018-01-20  6:15           ` [dpdk-dev] [PATCH v5 2/7] mbuf: maintain user and compile time mempool ops name Hemant Agrawal
2018-01-22 13:23             ` Olivier Matz
2018-01-20  6:15           ` [dpdk-dev] [PATCH v5 3/7] mbuf: add pool ops name selection API helpers Hemant Agrawal
2018-01-22 13:23             ` Olivier Matz
2018-01-20  6:15           ` [dpdk-dev] [PATCH v5 4/7] mbuf: pktmbuf pool create helper for specific mempool ops Hemant Agrawal
2018-01-22 13:24             ` Olivier Matz
2018-01-20  6:15           ` [dpdk-dev] [PATCH v5 5/7] app/testpmd: set preferred mempool as default pktpool Hemant Agrawal
2018-01-22 13:25             ` Olivier Matz
2018-01-20  6:15           ` [dpdk-dev] [PATCH v5 6/7] dpaa: register dpaa as platform HW mempool on runtime Hemant Agrawal
2018-01-20  6:15           ` [dpdk-dev] [PATCH v5 7/7] dpaa2: register dpaa2 " Hemant Agrawal
2018-01-22 13:51           ` [dpdk-dev] [PATCH v6 0/7] Dynamic HW Mempool Detection Support Hemant Agrawal
2018-01-22 13:51             ` [dpdk-dev] [PATCH v6 1/7] eal: prefix mbuf pool ops name with user defined Hemant Agrawal
2018-01-22 14:43               ` santosh
2018-01-22 13:51             ` [dpdk-dev] [PATCH v6 2/7] mbuf: maintain user and compile time mempool ops name Hemant Agrawal
2018-01-22 14:47               ` santosh
2018-01-25 22:02               ` Thomas Monjalon
2018-01-26  5:10                 ` Hemant Agrawal
2018-01-22 13:51             ` [dpdk-dev] [PATCH v6 3/7] mbuf: add pool ops name selection API helpers Hemant Agrawal
2018-01-22 14:49               ` santosh
2018-01-25 22:01               ` Thomas Monjalon
2018-01-26  5:10                 ` Hemant Agrawal
2018-01-22 13:51             ` [dpdk-dev] [PATCH v6 4/7] mbuf: pktmbuf pool create helper for specific mempool ops Hemant Agrawal
2018-01-22 14:51               ` santosh
2018-01-22 13:51             ` [dpdk-dev] [PATCH v6 5/7] app/testpmd: set preferred mempool as default pktpool Hemant Agrawal
2018-01-22 14:52               ` santosh
2018-01-25 22:04               ` Thomas Monjalon
2018-01-26  5:11                 ` Hemant Agrawal
2018-01-26  7:43                   ` Thomas Monjalon
2018-01-22 13:51             ` [dpdk-dev] [PATCH v6 6/7] dpaa: register dpaa as platform HW mempool on runtime Hemant Agrawal
2018-01-22 13:51             ` [dpdk-dev] [PATCH v6 7/7] dpaa2: register dpaa2 " Hemant Agrawal
2018-01-29  8:10             ` [dpdk-dev] [PATCH v7 0/7] Dynamic HW Mempool Detection Support Hemant Agrawal
2018-01-29  8:10               ` [dpdk-dev] [PATCH v7 1/7] eal: prefix mbuf pool ops name with user defined Hemant Agrawal
2018-01-29  8:10               ` [dpdk-dev] [PATCH v7 2/7] mbuf: maintain user and compile time mempool ops name Hemant Agrawal
2018-01-29  8:10               ` [dpdk-dev] [PATCH v7 3/7] mbuf: add pool ops name selection API helpers Hemant Agrawal
2018-01-29  8:44                 ` Andrew Rybchenko
2018-01-29  8:10               ` [dpdk-dev] [PATCH v7 4/7] mbuf: pktmbuf pool create helper for specific mempool ops Hemant Agrawal
2018-01-29  8:10               ` [dpdk-dev] [PATCH v7 5/7] app/testpmd: add debug to print preferred " Hemant Agrawal
2018-01-29  8:10               ` [dpdk-dev] [PATCH v7 6/7] dpaa: register dpaa as platform HW mempool on runtime Hemant Agrawal
2018-01-29  8:10               ` [dpdk-dev] [PATCH v7 7/7] dpaa2: register dpaa2 " Hemant Agrawal
2018-01-29 18:03               ` [dpdk-dev] [PATCH v7 0/7] Dynamic HW Mempool Detection Support Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1516428908-5430-1-git-send-email-hemant.agrawal@nxp.com \
    --to=hemant.agrawal@nxp.com \
    --cc=dev@dpdk.org \
    --cc=jerin.jacob@caviumnetworks.com \
    --cc=olivier.matz@6wind.com \
    --cc=santosh.shukla@caviumnetworks.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).