From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v1 0/2] reimplement rwlock and add relevant perf test case Date: Wed, 19 Dec 2018 21:37:50 +0100 Message-ID: <2217922.oS7uaNfDOZ@xps> References: <1544672265-219262-1-git-send-email-joyce.kong@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org, Stephen Hemminger , nd , "jerin.jacob@caviumnetworks.com" , "hemant.agrawal@nxp.com" , Bruce Richardson , "Ananyev, Konstantin" , "chaozhu@linux.vnet.ibm.com" To: Honnappa Nagarahalli , "Gavin Hu (Arm Technology China)" , "Joyce Kong (Arm Technology China)" Return-path: Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by dpdk.org (Postfix) with ESMTP id BA3BA1B90B for ; Wed, 19 Dec 2018 21:37:54 +0100 (CET) In-Reply-To: List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 17/12/2018 06:16, Honnappa Nagarahalli: > Adding other platform maintainers as it affects all platforms. There is no other comment. I am not sure what to do with this patch. > From: Gavin Hu (Arm Technology China) > > > > Hi Stephen, > > > > Thanks for your comment and sharing the link! > > We are looking into it and it may take more time for performance profiling. > > > > Best Regards, > > Gavin > > > > From: Stephen Hemminger > > > On Thu, 13 Dec 2018 11:37:43 +0800 > > > Joyce Kong wrote: > > > > > > > v1: reimplement rwlock with __atomic builtins, and add a rwlock perf test > > > > on all available cores to benchmark the improvement. > > > > > > > > We tested the patches on three arm64 platforms, ThundeX2 gained 20% > > > > performance, Qualcomm gained 36% and the 4-Cortex-A72 Marvell > > > MACCHIATObin gained 19.6%. > > > > Below is the detailed test result on ThunderX2: > > > > > > > > *** rwlock_autotest without __atomic builtins *** Rwlock Perf Test > > > > on > > > > 128 cores... > > > > Core [0] count = 281 > > > > Core [1] count = 252 > > > > Core [2] count = 290 > > > > Core [3] count = 259 > > > > Core [4] count = 287 > > > > ... > > > > Core [209] count = 3 > > > > Core [210] count = 31 > > > > Core [211] count = 120 > > > > Total count = 18537 > > > > > > > > *** rwlock_autotest with __atomic builtins *** Rwlock Perf Test on > > > > 128 cores... > > > > Core [0] count = 346 > > > > Core [1] count = 355 > > > > Core [2] count = 259 > > > > Core [3] count = 285 > > > > Core [4] count = 320 > > > > ... > > > > Core [209] count = 2 > > > > Core [210] count = 23 > > > > Core [211] count = 63 > > > > Total count = 22194 > > > > > > > > Gavin Hu (1): > > > > rwlock: reimplement with __atomic builtins > > > > > > > > Joyce Kong (1): > > > > test/rwlock: add perf test case > > > > > > > > lib/librte_eal/common/include/generic/rte_rwlock.h | 16 ++--- > > > > test/test/test_rwlock.c | 71 ++++++++++++++++++++++ > > > > 2 files changed, 79 insertions(+), 8 deletions(-) > > > > > > > > > > Did you consider using a better algorithm not just better primitives. > > > See https://locklessinc.com/articles/locks/ for a more complete > > > discussion of alternatives like ticket locks.