All of lore.kernel.org
 help / color / mirror / Atom feed
From: Olivier MATZ <olivier.matz@6wind.com>
To: Hemant Agrawal <hemant.agrawal@nxp.com>
Cc: Jerin Jacob <jerin.jacob@caviumnetworks.com>,
	santosh.shukla@caviumnetworks.com, dev@dpdk.org
Subject: Re: [PATCH 1/2] mbuf: update default Mempool ops with HW active pool
Date: Fri, 22 Dec 2017 15:59:58 +0100	[thread overview]
Message-ID: <20171222145957.tc56hzyzbxj65rg5@platinum> (raw)
In-Reply-To: <85485fb0-f602-78af-c40a-7bfb4bda561e@nxp.com>

On Mon, Dec 18, 2017 at 03:06:21PM +0530, Hemant Agrawal wrote:
> On 12/18/2017 2:25 PM, Jerin Jacob wrote:
> > -----Original Message-----
> > > Date: Fri, 15 Dec 2017 15:54:42 +0530
> > > From: Hemant Agrawal <hemant.agrawal@nxp.com>
> > > To: olivier.matz@6wind.com, santosh.shukla@caviumnetworks.com
> > > CC: dev@dpdk.org
> > > Subject: [dpdk-dev] [PATCH 1/2] mbuf: update default Mempool ops with HW
> > >  active pool
> > > X-Mailer: git-send-email 2.7.4
> > > 
> > > With this patch the specific HW mempool are no longer required to be
> > > specified in the config file at compile. A default active hw mempool
> > > can be detected dynamically and published to default mempools ops
> > > config at run time. Only one type of HW mempool can be active default.
> > 
> > For me, it looks very reasonable approach as it caters the basic use
> > case without any change in the application nor the additional(--mbuf-pool-ops-name)
> > EAL command line scheme to select different mempool ops.
> > Though, this option will not enough cater all the use case. I think, we can have
> > three options and the following order of precedence to select the mempool ops
> > 
> > 1) This patch(update active mempool based on the device probe())
> > 2) Selection of mempool ops though --mbuf-pool-ops-name= EAL commandline argument.
> > Which can overridden the scheme(1)
> > 3) More sophisticated mempool section based on
> > a) The ethdev PMD capability exposed through existing rte_eth_dev_pool_ops_supported()
> > b) Add mempool ops option in rte_pktmbuf_pool_create()
> > http://dpdk.org/ml/archives/dev/2017-December/083985.html
> > c) Use (a) and (b) to select the update the mempool ops with
> > some "weight" based algorithm like
> > http://dpdk.org/dev/patchwork/patch/32245/
> > 
> 
> Yes! We need more options to fine tune control over the mempool uses,
> specially when dealing with HW mempools.
> 
> Once the above mentioned mechanisms will be in place, it will be much easier
> and flexible.

I'm inline with this description. It would be great if the same binary can work
on different platforms without configuration.

I just feel it's a bit messy to have:

- rte_eal_mbuf_default_mempool_ops() in eal API
  return user-selected ops if any, or compile-time default

- rte_pktmbuf_active_mempool_ops() in mbuf API
  return platform ops except if a selected user ops != compile default

Thomas suggested somewhere (but I don't remember in which thread) to have
rte_eal_mbuf_default_mempool_ops() in mbuf code, and I think he was right.

I think the whole mbuf pool ops selection mechanism should be at the
same place. I could be in a specific file of librte_mbuf.

The API could be:
- get compile time default ops
- get/set platform ops (NULL if none)
- get/set user ops (NULL if none)
- get preferred ops from currently configured PMD

- get best ops: return user, or pmd-prefered, or platform, or default.

rte_pktmbuf_pool_create() will use "get best ops" if no ops (NULL) is
passed as argument.

  reply	other threads:[~2017-12-22 15:00 UTC|newest]

Thread overview: 112+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-04 12:22 [PATCH 0/2] Multiple Pktmbuf mempool support Hemant Agrawal
2017-07-04 12:22 ` [PATCH 1/2] mempool: check the support for the given mempool Hemant Agrawal
2017-07-04 12:22 ` [PATCH 2/2] mbuf: add support for preferred mempool list Hemant Agrawal
2017-09-22  7:13 ` [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 ` [PATCH 0/2] Dynamic HW Mempool Detection Support Hemant Agrawal
2017-12-15 10:24   ` [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 [this message]
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   ` [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   ` [PATCH v2 0/5] Dynamic HW Mempool Detection Support Hemant Agrawal
2018-01-15  6:11     ` [PATCH v2 1/5] eal: prefix mbuf pool ops name with user defined Hemant Agrawal
2018-01-15  6:11     ` [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     ` [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     ` [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     ` [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     ` [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     ` [PATCH v3 0/7] " Hemant Agrawal
2018-01-18 13:26       ` [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       ` [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       ` [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       ` [PATCH v3 4/7] mbuf: pktmbuf pool create helper for specific mempool ops Hemant Agrawal
2018-01-18 13:26       ` [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       ` [PATCH v3 6/7] dpaa2: register dpaa2 as platform HW mempool on runtime Hemant Agrawal
2018-01-18 13:26       ` [PATCH v3 7/7] dpaa: register dpaa " Hemant Agrawal
2018-01-19 16:33       ` [PATCH v4 0/7] Dynamic HW Mempool Detection Support Hemant Agrawal
2018-01-19 16:33         ` [PATCH v4 1/7] eal: prefix mbuf pool ops name with user defined Hemant Agrawal
2018-01-19 16:33         ` [PATCH v4 2/7] mbuf: maintain user and compile time mempool ops name Hemant Agrawal
2018-01-19 16:33         ` [PATCH v4 3/7] mbuf: add pool ops name selection API helpers Hemant Agrawal
2018-01-19 16:33         ` [PATCH v4 4/7] mbuf: pktmbuf pool create helper for specific mempool ops Hemant Agrawal
2018-01-19 16:33         ` [PATCH v4 5/7] app/testpmd: set preferred mempool as default pktpool Hemant Agrawal
2018-01-19 16:33         ` [PATCH v4 6/7] dpaa: register dpaa as platform HW mempool on runtime Hemant Agrawal
2018-01-19 16:33         ` [PATCH v4 7/7] dpaa2: register dpaa2 " Hemant Agrawal
2018-01-20  6:15         ` [PATCH v5 0/7] Dynamic HW Mempool Detection Support Hemant Agrawal
2018-01-20  6:15           ` [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           ` [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           ` [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           ` [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           ` [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           ` [PATCH v5 6/7] dpaa: register dpaa as platform HW mempool on runtime Hemant Agrawal
2018-01-20  6:15           ` [PATCH v5 7/7] dpaa2: register dpaa2 " Hemant Agrawal
2018-01-22 13:51           ` [PATCH v6 0/7] Dynamic HW Mempool Detection Support Hemant Agrawal
2018-01-22 13:51             ` [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             ` [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             ` [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             ` [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             ` [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             ` [PATCH v6 6/7] dpaa: register dpaa as platform HW mempool on runtime Hemant Agrawal
2018-01-22 13:51             ` [PATCH v6 7/7] dpaa2: register dpaa2 " Hemant Agrawal
2018-01-29  8:10             ` [PATCH v7 0/7] Dynamic HW Mempool Detection Support Hemant Agrawal
2018-01-29  8:10               ` [PATCH v7 1/7] eal: prefix mbuf pool ops name with user defined Hemant Agrawal
2018-01-29  8:10               ` [PATCH v7 2/7] mbuf: maintain user and compile time mempool ops name Hemant Agrawal
2018-01-29  8:10               ` [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               ` [PATCH v7 4/7] mbuf: pktmbuf pool create helper for specific mempool ops Hemant Agrawal
2018-01-29  8:10               ` [PATCH v7 5/7] app/testpmd: add debug to print preferred " Hemant Agrawal
2018-01-29  8:10               ` [PATCH v7 6/7] dpaa: register dpaa as platform HW mempool on runtime Hemant Agrawal
2018-01-29  8:10               ` [PATCH v7 7/7] dpaa2: register dpaa2 " Hemant Agrawal
2018-01-29 18:03               ` [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=20171222145957.tc56hzyzbxj65rg5@platinum \
    --to=olivier.matz@6wind.com \
    --cc=dev@dpdk.org \
    --cc=hemant.agrawal@nxp.com \
    --cc=jerin.jacob@caviumnetworks.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.