From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [PATCH v1 0/2] reimplement rwlock and add relevant perf test case Date: Wed, 12 Dec 2018 21:27:10 -0800 Message-ID: <20181212212710.3c9ad4d3@xeon-e3> 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, nd@arm.com, thomas@monjalon.net, jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com, honnappa.nagarahalli@arm.com, gavin.hu@arm.com To: Joyce Kong Return-path: Received: from mail-pl1-f196.google.com (mail-pl1-f196.google.com [209.85.214.196]) by dpdk.org (Postfix) with ESMTP id 93C2B2BF5 for ; Thu, 13 Dec 2018 06:27:14 +0100 (CET) Received: by mail-pl1-f196.google.com with SMTP id u18so477549plq.7 for ; Wed, 12 Dec 2018 21:27:14 -0800 (PST) In-Reply-To: <1544672265-219262-1-git-send-email-joyce.kong@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" 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.