From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joyce Kong Subject: [PATCH v6 0/2] ticketlock: implement ticketlock and add test case Date: Fri, 15 Mar 2019 14:56:26 +0800 Message-ID: <1552632988-80787-1-git-send-email-joyce.kong@arm.com> References: <1547802943-18711-1-git-send-email-joyce.kong@arm.com> Cc: nd@arm.com, stephen@networkplumber.org, jerin.jacob@caviumnetworks.com, thomas@monjalon.net, honnappa.nagarahalli@arm.com, gavin.hu@arm.com To: dev@dpdk.org Return-path: Received: from foss.arm.com (usa-sjc-mx-foss1.foss.arm.com [217.140.101.70]) by dpdk.org (Postfix) with ESMTP id 8716B2BD3 for ; Fri, 15 Mar 2019 07:56:47 +0100 (CET) In-Reply-To: <1547802943-18711-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" v6: Add rte_ticketlock.h in lib/librte_eal/common/include/arch/arm/. Sort header inside ticketlock files by alphabetical order. v5: Change the variants inside rte_ticket_lock from unint to uint16_t for binary compatibility with the plain spin lock(suggested by Honnappa Nagarahalli)). v4: Change some assignment operation in recursive ticket lock to __atomic. V3: 1.Update ticketlock intrduction(suggested by Honnappa Nagarahalli). 2.Change the implementation of rte_ticketlock_trylock to CAS(suggested by Honnappa Nagarahalli). V2: 1.Update commit message(suggested by Jerin Jacob). 2.Add ticketlock test cases(suggested by Jerin Jacob). V1: Implement ticket lock to improve lock fairness and prdictability. As shown on thundex-2 platform: *** ticketlock_autotest with this patch *** Core [0] count = 496 Core [1] count = 495 Core [2] count = 498 ... Core [209] count = 488 Core [210] count = 490 Core [211] count = 474 Joyce Kong (2): eal/ticketlock: ticket based to improve fairness test/ticketlock: add ticket lock test case MAINTAINERS | 6 + app/test/Makefile | 1 + app/test/autotest_data.py | 6 + app/test/meson.build | 1 + app/test/test_ticketlock.c | 311 +++++++++++++++++++++ doc/api/doxy-api-index.md | 1 + lib/librte_eal/common/Makefile | 2 +- .../common/include/arch/arm/rte_ticketlock.h | 64 +++++ .../common/include/generic/rte_ticketlock.h | 308 ++++++++++++++++++++ lib/librte_eal/common/meson.build | 1 + 10 files changed, 700 insertions(+), 1 deletion(-) create mode 100644 app/test/test_ticketlock.c create mode 100644 lib/librte_eal/common/include/arch/arm/rte_ticketlock.h create mode 100644 lib/librte_eal/common/include/generic/rte_ticketlock.h -- 2.7.4