[dpdk-dev] [PATCH v1 0/2] reimplement rwlock and add relevant perf test case
Stephen Hemminger
stephen at networkplumber.org
Thu Dec 13 06:27:10 CET 2018
On Thu, 13 Dec 2018 11:37:43 +0800
Joyce Kong <joyce.kong at arm.com> 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.
More information about the dev
mailing list