[dpdk-dev] [PATCH] ethdev: add lock-less txq capability flag

Jerin Jacob jerin.jacob at caviumnetworks.com
Thu Jul 6 08:00:10 CEST 2017


-----Original Message-----
> Date: Wed, 05 Jul 2017 19:46:54 +0200
> From: Thomas Monjalon <thomas at monjalon.net>
> To: Jerin Jacob <jerin.jacob at caviumnetworks.com>
> Cc: dev at dpdk.org, bruce.richardson at intel.com, harry.van.haaren at intel.com,
>  hemant.agrawal at nxp.com, gage.eads at intel.com, nipun.gupta at nxp.com,
>  santosh.shukla at caviumnetworks.com
> Subject: Re: [dpdk-dev] [PATCH] ethdev: add lock-less txq capability flag
> 
> 27/04/2017 13:00, Jerin Jacob:
> > -----Original Message-----
> > > Which hardware supports it?
> > 
> > Cavium OCTEONTX Packet transmission HW block(PKO).
> > 
> > > 
> > > [...]
> > > > --- a/lib/librte_ether/rte_ethdev.h
> > > > +++ b/lib/librte_ether/rte_ethdev.h
> > > > +#define DEV_TX_OFFLOAD_TXQ_MT_LOCKFREE	0x00004000
> > > > +/**< Multiple threads can invoke rte_eth_tx_burst() concurrently on the
> > > > same + * tx queue without SW lock.
> > > > + */
> > > 
> > > Why TXQ in the name? DEV_TX_OFFLOAD_MT_LOCKFREE would be enough.
> > 
> > OK
> > 
> > > I wonder whether "lock free" wording is confusing because
> > > the locks are probably handled in HW.
> > 
> > Yes. Another reason why it possible because HW is not using ring like scheme(head and tail pointers)
> > for Tx. "lock free" wording is more from software perspective.
> > 
> > > I think the good wording is "offloaded multi-thread capability",
> > > maybe with a naming like DEV_TX_OFFLOAD_MT.
> > 
> > I think SW lock free is the capability here.IMO, it better to reflect the
> > capability in the name(DEV_TX_OFFLOAD_MT_LOCKFREE).
> > 
> > > 
> > > Anyway we should reference this flag in rte_eth_tx_burst()
> > > and give more details in doc/guides/prog_guide/poll_mode_drv.rst.
> > 
> > OK. Will address in v2.
> > 
> > > 
> > > Should we wait a first hardware PoC to add this flag?
> > 
> > If we are in agreement for method expose this feature through capability
> > flag then should we really need to wait for driver implementation to
> > accept the patch? Thoughts ?
> > This flag has impact on how we handle the even dev applications if HW support available.
> > We are in the process of up-streaming OCTEONTX ethdev driver, but there
> > are few thing like with external pool manager and eventdev integration
> > needs to be sorted out cleanly before that.
> > 
> > > Candidate for 17.08?
> 
> Any news of a v2?

I will send the v2.

> 


More information about the dev mailing list