From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <thomas@monjalon.net>
Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com
 [66.111.4.28]) by dpdk.org (Postfix) with ESMTP id 061982B9B
 for <dev@dpdk.org>; Mon, 24 Apr 2017 14:35:01 +0200 (CEST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id A288D20C8C;
 Mon, 24 Apr 2017 08:35:00 -0400 (EDT)
Received: from frontend2 ([10.202.2.161])
 by compute1.internal (MEProxy); Mon, 24 Apr 2017 08:35:00 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=
 cc:content-transfer-encoding:content-type:date:from:in-reply-to
 :message-id:mime-version:references:subject:to:x-me-sender
 :x-me-sender:x-sasl-enc:x-sasl-enc; s=mesmtp; bh=oGMFIFaz3qMxNz/
 EHqYgUuQ09LlAepjpqkMg1LupSPg=; b=BKZJkmkXERbJVAwAfipzY2hnQumZIl+
 puRN02v5oIjTf0ZX08jR2JSF2fIIUmw4r6uNSq0TM2TE/CosW2Bf8+Ds6OfXU+3g
 f0Zh6O+3MXBpnBcg3SAHvXOrJ2b8l5YZokKrFp98KqXuxmwQLB7y2p71X2iAjlAo
 yeAU8IN1dJoM=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-transfer-encoding:content-type
 :date:from:in-reply-to:message-id:mime-version:references
 :subject:to:x-me-sender:x-me-sender:x-sasl-enc:x-sasl-enc; s=
 fm1; bh=oGMFIFaz3qMxNz/EHqYgUuQ09LlAepjpqkMg1LupSPg=; b=JAJ9i3kv
 OiApwKemUFwgOMyE+MQ9kTGU9QysY+2S75+GN05AINEBpsV2LeH6MRvUuYkVbMw0
 BrsPm4wYsYgXfntw+WBus0cai8xbrBo6zABECQ0WJNe0dNDJJv6817l4qW1c3Ryy
 m6LUy3hr+TGUpHvn49+7QdPbjejZxvwL07tEjhZqa/btWz7JfsMR80T4/y4xUh3c
 KmxCdlKS8SQxZ6KBqkYxFbI4fa3rppYTm8HxbIxCO8yFzIlJsDlbSHMV7L0nN+w0
 WS4wq+YE32rruq67JuGdxEozeIk4eaD0RqJMB1SaYINGbOm9iQkYtR9xiqWRzHs4
 QKkF0o1V2BRvPw==
X-ME-Sender: <xms:9PD9WDfe3gXnLeC8O8RwhCB4Y4gpwBfWVcEZ7aJ2WWsaCgyaikw5hQ>
X-Sasl-enc: 1LPx2n3yBI4ONM6PUWi1x/tMBE+HUYYS4JIBr0CNwEqs 1493037300
Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184])
 by mail.messagingengine.com (Postfix) with ESMTPA id 4381D241E1;
 Mon, 24 Apr 2017 08:35:00 -0400 (EDT)
From: Thomas Monjalon <thomas@monjalon.net>
To: Jerin Jacob <jerin.jacob@caviumnetworks.com>
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
Date: Mon, 24 Apr 2017 14:34:59 +0200
Message-ID: <1937111.PEUejtoCqE@xps>
In-Reply-To: <20170421122223.24194-1-jerin.jacob@caviumnetworks.com>
References: <20170421122223.24194-1-jerin.jacob@caviumnetworks.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
Subject: Re: [dpdk-dev] [PATCH] ethdev: add lock-less txq capability flag
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Mon, 24 Apr 2017 12:35:01 -0000

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?

[...]
> --- 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.
I wonder whether "lock free" wording is confusing because
the locks are probably handled in HW.
I think the good wording is "offloaded multi-thread capability",
maybe with a naming like DEV_TX_OFFLOAD_MT.

Anyway we should reference this flag in rte_eth_tx_burst()
and give more details in doc/guides/prog_guide/poll_mode_drv.rst.

Should we wait a first hardware PoC to add this flag?
Candidate for 17.08?