From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gavin.hu@arm.com>
Received: from foss.arm.com (usa-sjc-mx-foss1.foss.arm.com [217.140.101.70])
 by dpdk.org (Postfix) with ESMTP id 5F2CB2BD3
 for <dev@dpdk.org>; Tue, 12 Mar 2019 17:59:07 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 8338F80D;
 Tue, 12 Mar 2019 09:59:06 -0700 (PDT)
Received: from net-arm-thunderx2.shanghai.arm.com
 (net-arm-thunderx2.shanghai.arm.com [10.169.40.121])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id A6B633F59C;
 Tue, 12 Mar 2019 09:59:04 -0700 (PDT)
From: Gavin Hu <gavin.hu@arm.com>
To: dev@dpdk.org
Cc: nd@arm.com, thomas@monjalon.net, konstantin.ananyev@intel.com,
 jerinj@marvell.com, hemant.agrawal@nxp.com, nipun.gupta@nxp.com,
 Honnappa.Nagarahalli@arm.com, gavin.hu@arm.com, i.maximets@samsung.com,
 chaozhu@linux.vnet.ibm.com
Date: Wed, 13 Mar 2019 00:58:52 +0800
Message-Id: <1552409933-45684-1-git-send-email-gavin.hu@arm.com>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1551841661-42892-1-git-send-email-gavin.hu@arm.com>
References: <1551841661-42892-1-git-send-email-gavin.hu@arm.com>
Subject: [dpdk-dev] [PATCH v3 0/1] ring: enforce reading the tail before
	reading ring slots
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: Tue, 12 Mar 2019 16:59:07 -0000

Change log:
  -V1: First version of the patch.

  -V2: Update the commit message to describe the ordering of detailed memory
accesses.

  -V3: As suggested by Konstantin Ananyev, remove the rte_smp_rmb for enqueue
case, as there is a control dependency in place, making rmb unnecessary. For
dequeue case, it is still required as the control dependency does not
order loads with loads.

gavin hu (1):
  ring: enforce reading the tail before reading ring slots

 lib/librte_ring/rte_ring_generic.h | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

-- 
2.7.4