From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v3 0/2] ring library with c11 memory model bug fix and optimization Date: Wed, 31 Oct 2018 17:58:15 +0100 Message-ID: <1608765.iL9IWifpLk@xps> 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-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: Gavin Hu , 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 To: dev@dpdk.org, qian.q.xu@intel.com Return-path: Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by dpdk.org (Postfix) with ESMTP id 3178E239 for ; Wed, 31 Oct 2018 17:58:13 +0100 (CET) In-Reply-To: <1540981587-88590-1-git-send-email-gavin.hu@arm.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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(-)