From mboxrd@z Thu Jan 1 00:00:00 1970 From: Honnappa Nagarahalli Subject: Re: [PATCH v4 2/2] ring: move the atomic load of head above the loop Date: Fri, 2 Nov 2018 04:30:36 +0000 Message-ID: References: <1541066031-29125-1-git-send-email-gavin.hu@arm.com> <1541066031-29125-3-git-send-email-gavin.hu@arm.com>, <20181101102601.7933b8d1@xeon-e3> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Cc: "dev@dpdk.org" , "thomas@monjalon.net" , "olivier.matz@6wind.com" , "chaozhu@linux.vnet.ibm.com" , "bruce.richardson@intel.com" , "konstantin.ananyev@intel.com" , "jerin.jacob@caviumnetworks.com" , "stable@dpdk.org" , nd To: "Gavin Hu (Arm Technology China)" , Stephen Hemminger Return-path: In-Reply-To: Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" =A0 On Thu, 1 Nov 2018 17:53:51 +0800=20 Gavin Hu wrote:=20 > +* **Updated the ring library with C11 memory model.**=20 > +=20 > + Updated the ring library with C11 memory model including the following = changes:=20 > +=20 > + * Synchronize the load and store of the tail=20 > + * Move the atomic load of head above the loop=20 > +=20 Does this really need to be in the release notes? Is it a user visible chan= ge=20 or just an internal/optimization and fix.=20 [Gavin] There is no api changes, but this is a significant change as ring i= s fundamental and widely used, it decreases latency by 25% in our tests, it= may do even better for cases with more contending producers/consumers or d= eeper depth of rings. [Honnappa] I agree with Stephen. Release notes should be written from DPDK = user perspective. In the rte_ring case, the user has the option of choosing= between c11 and non-c11 algorithms. Performance would be one of the criter= ia to choose between these 2 algorithms. IMO, it probably makes sense to in= dicate that the performance of c11 based algorithm has been improved. Howev= er, I do not know what DPDK has followed historically regarding performance= optimizations. I would prefer to follow whatever has been followed so far. I do not think that we need to document the details of the internal changes= since it does not help the user make a decision.