> From: Stephen Hemminger [mailto:step...@networkplumber.org]
> Sent: Monday, 6 November 2023 20.24
> 
> On Mon, 2 Oct 2023 10:42:53 +0200
> Morten Brørup <m...@smartsharesystems.com> wrote:
> 
> > > Switching to rte_pktmbuf_pool_create() still leaves the user with
> the
> > > possibility to shoot himself in the foot (I was thinking of setting
> > > some --mbuf-pool-ops-name EAL option).
> > >
> > > This application has explicit requirements in terms of concurrent
> > > access (and I don't think the mempool library exposes per driver
> > > capabilities in that regard).
> > > The application was enforcing the use of mempool/ring so far.
> > >
> > > I think it is safer to go with an explicit
> > > rte_pktmbuf_pool_create_by_ops(... "ring_mp_mc").
> > > WDYT?
> >
> > <feature creep>
> > Or perhaps one of "ring_mt_rts" or "ring_mt_hts", if any of those
> mbuf pool drivers are specified on the command line; otherwise fall
> back to "ring_mp_mc".
> >
> > Actually, I prefer Stephen's suggestion of using the default mbuf
> pool driver. The option is there for a reason.
> >
> > However, David is right: We want to prevent the user from using a
> thread-unsafe mempool driver in this use case.
> >
> > And I guess there might be other use cases than this one, where a
> thread-safe mempool driver is required. So adding a generalized
> function to get the "upgraded" (i.e. thread safe) variant of a mempool
> driver would be nice.
> > </feature creep>
> 
> If the user overrides the default mbuf pool type, then it will need to
> be thread safe for
> the general case of driver as well (or they are on single cpu).

If they have chosen a thread safe pool type, using the chosen type will work 
for dumpcap too. I think we all agree on that.

I'm not sure I understand your single-cpu argument, so let me try to paraphrase:

If their application only uses one EAL thread, and they have chosen 
"ring_sc_sp", dumpcap also work, because mempool accesses are still 
single-threaded. Is this correctly understood?

Or are you saying that if they want to use dumpcap, they must choose a thread 
safe pool type for their application (regardless if the application is 
single-threaded or not)?

> 
> 
> I think the patch should be applied as is.

Reply via email to