All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: Shreyansh Jain <shreyansh.jain@nxp.com>
Cc: Thomas Monjalon <thomas.monjalon@6wind.com>,
	john miller <john.miller@atomicrules.com>,
	"dev@dpdk.org" <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 11:38:55 +0100	[thread overview]
Message-ID: <20170412103855.GA36092@bricha3-MOBL3.ger.corp.intel.com> (raw)
In-Reply-To: <VI1PR0401MB246422DBE171F0679E6710ED90030@VI1PR0401MB2464.eurprd04.prod.outlook.com>

On Wed, Apr 12, 2017 at 10:33:10AM +0000, Shreyansh Jain wrote:
> My bad - I was too quick in replying - some clarification beneath.
> 
> > -----Original Message-----
> > From: Shreyansh Jain
> > Sent: Wednesday, April 12, 2017 3:55 PM
> > To: 'Bruce Richardson' <bruce.richardson@intel.com>
> > Cc: Thomas Monjalon <thomas.monjalon@6wind.com>; john miller
> > <john.miller@atomicrules.com>; dev@dpdk.org; olivier.matz@6wind.com
> > Subject: RE: [dpdk-dev] error in testpmd when CONFIG_RTE_BUILD_SHARED_LIB=y
> > 
> > > -----Original Message-----
> > > From: Bruce Richardson [mailto:bruce.richardson@intel.com]
> > > Sent: Wednesday, April 12, 2017 3:35 PM
> > > To: Shreyansh Jain <shreyansh.jain@nxp.com>
> > > Cc: Thomas Monjalon <thomas.monjalon@6wind.com>; john miller
> > > <john.miller@atomicrules.com>; dev@dpdk.org; olivier.matz@6wind.com
> > > Subject: Re: [dpdk-dev] error in testpmd when CONFIG_RTE_BUILD_SHARED_LIB=y
> > >
> > > On Wed, Apr 12, 2017 at 04:52:47AM +0000, Shreyansh Jain wrote:
> > > > > -----Original Message-----
> > > > > From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com]
> > > > > Sent: Wednesday, April 12, 2017 12:58 AM
> > > > > To: john miller <john.miller@atomicrules.com>
> > > > > Cc: dev@dpdk.org; olivier.matz@6wind.com; Shreyansh Jain
> > > > > <shreyansh.jain@nxp.com>
> > > > > Subject: Re: [dpdk-dev] error in testpmd when
> > > CONFIG_RTE_BUILD_SHARED_LIB=y
> > > > >
> > > > > 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.
> > 
> > For Ring Mempool as default enabled, +1
>  
> Actually, Ring mempool is enabled by default. But, obviously for shared library case, this still means "-d".
> 

Not necessarily. That only applies if we don't explicitly link it like
the other shared libraries. We "special-case" our drivers in that we
don't add them with a -l flag, but expect the user to dynamically load
them at runtime. This is one case where I think all apps should
explicitly link against the ring mempool driver. There is no reason we
can't make some drivers mandatory.

> > 
> > >
> > > > 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.
> > 
> > Agree.
>  
> Probably, as ring mempool is a driver and compiled in shared mode, enabled by default will not fix this.

But linked in by default will fix it.

/Bruce

  reply	other threads:[~2017-04-12 10:38 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
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 [this message]
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=20170412103855.GA36092@bricha3-MOBL3.ger.corp.intel.com \
    --to=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=john.miller@atomicrules.com \
    --cc=olivier.matz@6wind.com \
    --cc=shreyansh.jain@nxp.com \
    --cc=thomas.monjalon@6wind.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.