Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/55670/?format=api
http://patches.dpdk.org/api/patches/55670/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/1561911676-37718-3-git-send-email-gavin.hu@arm.com/", "project": { "id": 1, "url": "http://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<1561911676-37718-3-git-send-email-gavin.hu@arm.com>", "list_archive_url": "https://inbox.dpdk.org/dev/1561911676-37718-3-git-send-email-gavin.hu@arm.com", "date": "2019-06-30T16:21:13", "name": "[RFC,2/5] ticketlock: use new API to reduce contention on aarch64", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "27bf5d0e2db01ef939fd7dd10ead822454a3ae2e", "submitter": { "id": 1018, "url": "http://patches.dpdk.org/api/people/1018/?format=api", "name": "Gavin Hu", "email": "gavin.hu@arm.com" }, "delegate": null, "mbox": "http://patches.dpdk.org/project/dpdk/patch/1561911676-37718-3-git-send-email-gavin.hu@arm.com/mbox/", "series": [ { "id": 5234, "url": "http://patches.dpdk.org/api/series/5234/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=5234", "date": "2019-06-30T16:21:11", "name": "use WFE for locks and ring on aarch64", "version": 1, "mbox": "http://patches.dpdk.org/series/5234/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/55670/comments/", "check": "success", "checks": "http://patches.dpdk.org/api/patches/55670/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 469251B974;\n\tSun, 30 Jun 2019 18:21:47 +0200 (CEST)", "from foss.arm.com (foss.arm.com [217.140.110.172])\n\tby dpdk.org (Postfix) with ESMTP id 369E21B952\n\tfor <dev@dpdk.org>; Sun, 30 Jun 2019 18:21:44 +0200 (CEST)", "from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])\n\tby usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B88F213A1;\n\tSun, 30 Jun 2019 09:21:43 -0700 (PDT)", "from net-arm-thunderx2.shanghai.arm.com\n\t(net-arm-thunderx2.shanghai.arm.com [10.169.40.40])\n\tby usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id\n\tCB9DC3F718; Sun, 30 Jun 2019 09:21:41 -0700 (PDT)" ], "From": "Gavin Hu <gavin.hu@arm.com>", "To": "dev@dpdk.org", "Cc": "thomas@monjalon.net, jerinj@marvell.com, hemant.agrawal@nxp.com,\n\tbruce.richardson@intel.com, chaozhu@linux.vnet.ibm.com,\n\tHonnappa.Nagarahalli@arm.com, nd@arm.com, gavin.hu@arm.com", "Date": "Mon, 1 Jul 2019 00:21:13 +0800", "Message-Id": "<1561911676-37718-3-git-send-email-gavin.hu@arm.com>", "X-Mailer": "git-send-email 2.7.4", "In-Reply-To": "<1561911676-37718-1-git-send-email-gavin.hu@arm.com>", "References": "<1561911676-37718-1-git-send-email-gavin.hu@arm.com>", "Subject": "[dpdk-dev] [RFC 2/5] ticketlock: use new API to reduce contention\n\ton aarch64", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "While using ticket lock, cores repeatedly poll the lock variable.\nThis is replaced by rte_wait_until_equal API.\n\nRunning ticketlock_autotest on ThunderX2, with different numbers of cores\nand depths of rings, 3%~8% performance gains were measured.\n\nSigned-off-by: Gavin Hu <gavin.hu@arm.com>\nReviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>\n---\n lib/librte_eal/common/include/generic/rte_ticketlock.h | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)", "diff": "diff --git a/lib/librte_eal/common/include/generic/rte_ticketlock.h b/lib/librte_eal/common/include/generic/rte_ticketlock.h\nindex 191146f..6820f01 100644\n--- a/lib/librte_eal/common/include/generic/rte_ticketlock.h\n+++ b/lib/librte_eal/common/include/generic/rte_ticketlock.h\n@@ -64,8 +64,8 @@ static inline __rte_experimental void\n rte_ticketlock_lock(rte_ticketlock_t *tl)\n {\n \tuint16_t me = __atomic_fetch_add(&tl->s.next, 1, __ATOMIC_RELAXED);\n-\twhile (__atomic_load_n(&tl->s.current, __ATOMIC_ACQUIRE) != me)\n-\t\trte_pause();\n+\tif (__atomic_load_n(&tl->s.current, __ATOMIC_ACQUIRE) != me)\n+\t\trte_wait_until_equal_acquire(&tl->s.current, me);\n }\n \n /**\n", "prefixes": [ "RFC", "2/5" ] }{ "id": 55670, "url": "