From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <thomas@monjalon.net>
Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com
 [66.111.4.27]) by dpdk.org (Postfix) with ESMTP id 3178E239
 for <dev@dpdk.org>; Wed, 31 Oct 2018 17:58:13 +0100 (CET)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id B008D21FF9;
 Wed, 31 Oct 2018 12:58:12 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Wed, 31 Oct 2018 12:58:12 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=
 from:to:cc:subject:date:message-id:in-reply-to:references
 :mime-version:content-transfer-encoding:content-type; s=mesmtp;
 bh=k1GPZy5X4bOxXmxfjJM4Xze+as4XDd9R+VXadxHCVXI=; b=byH8CEaz4y0e
 3WNlsQ2TOXe+uj5g5J0gZ8FFLWA1P++XOZWNsGWkbRwxRU/EmF+Py+EFT4VrX5Ep
 QlL2KeahCiV7STEgEwDjWSrlyazSJYyJ9+qilRunrq/mypQW0vwnPY3TtPC8w5su
 bkhwqGi56cBDMfaWirAFUIlhCwyCihA=
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-proxy:x-me-proxy:x-me-sender:x-me-sender
 :x-sasl-enc; s=fm1; bh=k1GPZy5X4bOxXmxfjJM4Xze+as4XDd9R+VXadxHCV
 XI=; b=Yo6tE4bYkCxRd9MWI6uG9jJ+p03ZL0YwKoJQLW/CZ4mxo6bwMkq3G/R63
 d1HjTflcXCo41PFXybnoS0xwji5uHDGw+66jD9NqkNFpww67h2PGyYPu4hBiPGVf
 6hHZXDG+HG09SCTTQb8gpawt3wOdEobGRK7SO1zPkg4iSfIYycO4FUJQXztL8mD6
 bec3YoNoZg1oMTbIxetLkZqbtfp+o1xUA9+ToYBsTDElIOQA6WqrPZiDB/Ym8ITO
 2cSp/QyAFgUWgNWHW+MXREqtJ5Nk2+rV4daTTkJFT9L9uVpwUytBrjWIgPGkGH+a
 ORyyZ3FdXSICfWtawwOyhsSBH/1sQ==
X-ME-Sender: <xms:It_ZW7cM_jfKa0QzSCBsyYVQEEPBvYtF64GMNTiiKtu9L61UPo7-oA>
X-ME-Proxy: <xmx:It_ZW0ZbDcY2nYF5EjaG7R4mTX3Mfa1U5fNlOvWiYVVsM3EdH0atOg>
 <xmx:It_ZW4EOqJ4wAm6SmQMDY5a-iAO3DzTQo4C84cxCmSjhr05a5HT6Bg>
 <xmx:It_ZW-6nB7v5qvynmF5hdw7b9QnWiRjk9R4z6RTxBB0Ozdvg1687YQ>
 <xmx:It_ZW7JM7INRCQ9BPgzpJFiOBn45wgTB3rueMYUpk7ZekyZn35pupg>
 <xmx:It_ZW09wvwwuWwn0q9X4yd63sPeI7gX20586b8OUGxF0fjY-IOazng>
 <xmx:JN_ZWwsgqn_Tv2eJdN8DgpN-JGOd5CyAnGJNBVAzZgxjOrnKzrqXEA>
Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184])
 by mail.messagingengine.com (Postfix) with ESMTPA id 00AA3102F3;
 Wed, 31 Oct 2018 12:58:09 -0400 (EDT)
From: Thomas Monjalon <thomas@monjalon.net>
To: dev@dpdk.org, qian.q.xu@intel.com
Cc: Gavin Hu <gavin.hu@arm.com>, olivier.matz@6wind.com,
 chaozhu@linux.vnet.ibm.com, bruce.richardson@intel.com,
 konstantin.ananyev@intel.com, jerin.jacob@caviumnetworks.com,
 Honnappa.Nagarahalli@arm.com
Date: Wed, 31 Oct 2018 17:58:15 +0100
Message-ID: <1608765.iL9IWifpLk@xps>
In-Reply-To: <1540981587-88590-1-git-send-email-gavin.hu@arm.com>
References: <1540956945-211373-1-git-send-email-gavin.hu@arm.com>
 <1540981587-88590-1-git-send-email-gavin.hu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
Subject: Re: [dpdk-dev] [PATCH v3 0/2] ring library with c11 memory model
	bug fix and optimization
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Wed, 31 Oct 2018 16:58:13 -0000

Last call for review.

Qian, it probably makes to have a validation test of this patchset.


31/10/2018 11:26, Gavin Hu:
> v2->v3
> 1) reword the change and relocate it in the release note.
> 
> v1->v2
> 1) Add the changes to the 18.11 release note.
> 
> V1:
> Updated the ring library with C11 memory model including the following changes
> 1) Synchronize the load and store of the tail to ensure the enqueue/dequeue
>    operations are really completed before seen by the observers on the other
>    sides.
> 2) Move the atomic load of head above the loop for the first iteration,it is
>    not unnecessary and degrade performance for the other iteration as the head
>    was loaded in the failure case of CAS.
> 
> Gavin Hu (2):
>   ring: synchronize the load and store of the tail
>   ring: move the atomic load of head above the loop
> 
>  doc/guides/rel_notes/release_18_11.rst |  7 +++++++
>  lib/librte_ring/rte_ring_c11_mem.h     | 24 +++++++++++++++++-------
>  2 files changed, 24 insertions(+), 7 deletions(-)