All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas.monjalon@6wind.com>
To: Bruce Richardson <bruce.richardson@intel.com>
Cc: Shreyansh Jain <shreyansh.jain@nxp.com>,
	john miller <john.miller@atomicrules.com>,
	dev@dpdk.org, "olivier.matz@6wind.com" <olivier.matz@6wind.com>
Subject: Re: error in testpmd when CONFIG_RTE_BUILD_SHARED_LIB=y
Date: Wed, 12 Apr 2017 12:25:34 +0200	[thread overview]
Message-ID: <1852173.LYJU7u7p34@xps13> (raw)
In-Reply-To: <20170412100521.GB20092@bricha3-MOBL3.ger.corp.intel.com>

2017-04-12 11:05, Bruce Richardson:
> On Wed, Apr 12, 2017 at 04:52:47AM +0000, Shreyansh Jain wrote:
> > From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com]
> > > 2017-04-11 14:02, john miller:
> > > >
> > > > We are seeing an issue when running from the head of the master branch in
> > > dpdk-next-net and building with CONFIG_RTE_BUILD_SHARED_LIB=y.   When we run
> > > testpmd using  -d to point to our PMD we get this error
> > > >
> > > > EAL: Error - exiting with code: 1
> > > >   Cause: Creation of mbuf pool for socket 0 failed: Invalid argument
> > > >
> > > > This error occurs as a result of the rte mempool ops table having 0
> > > entries.  This table is populated from a call to rte_mempool_register_ops().
> > > This function gets called in rte_mempool_ring.c via the static initialization
> > > MACRO MEMPOOL_REGISTER_OPS and exists in librte_mempool_ring.so.  However
> > > this library is not loaded when the rte_eal_init() gets called so the static
> > > initializers are not yet loaded.
> > > >
> > > > I am requesting advice on the proper way to repair this.
> >  
> > "-d" the ring library (rte_mempool_ring) - just like any other shared lib.
> > 
> 
> I think this is a bug that should be fixed. The user should not need to
> have to specify a mempool driver just to get testpmd working, so I think
> the ring handler as default should be compiled in automatically so as to
> allow regular mempools to just work as before.

We thought about it when moving the mempool handler as a driver.
The common case when using shared libs, is to specify the lib directory
with -d or with CONFIG_RTE_EAL_PMD_PATH.

I am not sure we should make an exception for the mempool driver.
If it is built as a shared library, the only one able to link it is
the user (who knows where the file is).


> > This change was done recently to move ring handler into its separate drivers/mempool/ring directory. That also means it no longer is compiled into the librte_mempool.
> > 
> > > 
> > > We should just add a better error message if no mempool driver is available.
> > 
> > Yes, that is something to be improved.
> 
> This should be fixed by always having a mempool driver installed.

It is not a matter of having it installed but finding it in the right path.
A good error message suggesting -d would be OK I think.

  reply	other threads:[~2017-04-12 10:25 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-11 18:02 error in testpmd when CONFIG_RTE_BUILD_SHARED_LIB=y john miller
2017-04-11 19:28 ` Thomas Monjalon
2017-04-12  4:52   ` Shreyansh Jain
2017-04-12 10:05     ` Bruce Richardson
2017-04-12 10:25       ` Thomas Monjalon [this message]
2017-04-12 11:40         ` Neil Horman
2017-04-12 10:26       ` Shreyansh Jain
2017-04-12 10:32         ` Ananyev, Konstantin
2017-04-12 10:33         ` Shreyansh Jain
2017-04-12 10:38           ` Bruce Richardson
2017-04-12 10:42             ` Bruce Richardson
2017-04-12 11:02               ` Van Haaren, Harry
2017-04-12 11:02               ` Shreyansh Jain
2017-04-12 11:31                 ` Richardson, Bruce
2017-04-12 12:31                   ` Thomas Monjalon
2017-04-12 19:55                     ` Olivier MATZ
2017-04-13  6:41                       ` Shreyansh Jain
2017-04-13  6:53                         ` Thomas Monjalon
2017-04-12 14:43                 ` Ananyev, Konstantin

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=1852173.LYJU7u7p34@xps13 \
    --to=thomas.monjalon@6wind.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=john.miller@atomicrules.com \
    --cc=olivier.matz@6wind.com \
    --cc=shreyansh.jain@nxp.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.