From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH] ethdev: add lock-less txq capability flag Date: Wed, 05 Jul 2017 19:46:54 +0200 Message-ID: <3952630.qNnCRMOujm@xps> References: <20170421122223.24194-1-jerin.jacob@caviumnetworks.com> <1937111.PEUejtoCqE@xps> <20170427105934.GA4375@jerin> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org, bruce.richardson@intel.com, harry.van.haaren@intel.com, hemant.agrawal@nxp.com, gage.eads@intel.com, nipun.gupta@nxp.com, santosh.shukla@caviumnetworks.com To: Jerin Jacob Return-path: Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) by dpdk.org (Postfix) with ESMTP id 133501C0B for ; Wed, 5 Jul 2017 19:46:56 +0200 (CEST) In-Reply-To: <20170427105934.GA4375@jerin> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 27/04/2017 13:00, Jerin Jacob: > -----Original Message----- > > Date: Mon, 24 Apr 2017 14:34:59 +0200 > > From: Thomas Monjalon > > To: Jerin Jacob > > Cc: dev@dpdk.org, bruce.richardson@intel.com, harry.van.haaren@intel.com, > > hemant.agrawal@nxp.com, gage.eads@intel.com, nipun.gupta@nxp.com, > > santosh.shukla@caviumnetworks.com > > Subject: Re: [dpdk-dev] [PATCH] ethdev: add lock-less txq capability flag > > > > 21/04/2017 14:22, Jerin Jacob: > > > if this flag is advertised by a PMD, Multiple threads can > > > invoke rte_eth_tx_burst() concurrently on the same tx queue > > > without SW lock. This is an HW feature found in some NICs > > > and useful in the following use cases if HW supports it. > > > > 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?