Show a cover letter.

GET /api/covers/78860/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 78860,
    "url": "http://patchwork.dpdk.org/api/covers/78860/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/cover/20200925174340.10014-1-steven.lariau@arm.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<20200925174340.10014-1-steven.lariau@arm.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200925174340.10014-1-steven.lariau@arm.com",
    "date": "2020-09-25T17:43:34",
    "name": "[v2,0/5] lib/stack: improve lockfree C11 implementation",
    "submitter": {
        "id": 1862,
        "url": "http://patchwork.dpdk.org/api/people/1862/?format=api",
        "name": "Steven Lariau",
        "email": "steven.lariau@arm.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/cover/20200925174340.10014-1-steven.lariau@arm.com/mbox/",
    "series": [
        {
            "id": 12516,
            "url": "http://patchwork.dpdk.org/api/series/12516/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=12516",
            "date": "2020-09-25T17:43:34",
            "name": "lib/stack: improve lockfree C11 implementation",
            "version": 2,
            "mbox": "http://patchwork.dpdk.org/series/12516/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/78860/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 477F5A04C0;\n\tFri, 25 Sep 2020 19:44:12 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id A817E1E9B1;\n\tFri, 25 Sep 2020 19:44:09 +0200 (CEST)",
            "from foss.arm.com (foss.arm.com [217.140.110.172])\n by dpdk.org (Postfix) with ESMTP id 08DB11E964\n for <dev@dpdk.org>; Fri, 25 Sep 2020 19:44:07 +0200 (CEST)",
            "from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])\n by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 57EDA101E;\n Fri, 25 Sep 2020 10:44:06 -0700 (PDT)",
            "from localhost.localdomain (unknown [10.57.54.55])\n by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C661E3F718;\n Fri, 25 Sep 2020 10:44:05 -0700 (PDT)"
        ],
        "From": "Steven Lariau <steven.lariau@arm.com>",
        "To": "",
        "Cc": "dev@dpdk.org,\n\tnd@arm.com,\n\tSteven Lariau <steven.lariau@arm.com>",
        "Date": "Fri, 25 Sep 2020 18:43:34 +0100",
        "Message-Id": "<20200925174340.10014-1-steven.lariau@arm.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20200911152938.8019-1-steven.lariau@arm.com>",
        "References": "<20200911152938.8019-1-steven.lariau@arm.com>",
        "Subject": "[dpdk-dev] [PATCH v2 0/5] lib/stack: improve lockfree C11\n\timplementation",
        "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 <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 <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "One implementation of the DPDK stack library is lockfree,\nbased on C11 memory model for atomics.\nSome of these atomic operations use unnecessary memory orders,\nthat can be relaxed.\nThis patch relax some of these operations in order to improve\nthe performance of the stack library.\n\nThe patch was tested on several architectures, to ensure that\nthe implementation is correct, and to measure performance.\nBelow are the results for a few architectures on multithread stack\nlockfree test.\nThe cycles count is the average number of cycles per item to perform\na bulk push / pop.\n\n$sudo ./builddir/app/dpdk-test\nRTE>>stack_lf_perf_autotest\n                              difference compared to main\nCycles count on ThunderX2\n 2 cores, bulk size =  8:           -15.85%\n 2 cores, bulk size = 32:           -04.56%\n 4 cores, bulk size =  8:           -05.00%\n 4 cores, bulk size = 32:           -04.35%\n16 cores, bulk size =  8:           -02.38%\n16 cores, bulk size = 32:           -01.88%\n\n                              difference compared to main\nCycles count on N1SDP\n 2 cores, batch size =  8:          +00.77%\n 2 cores, batch size = 32:          -16.00%\n\n                              difference compared to main\nCycles count on Skylake\n 2 cores, bulk size =  8:           -00.18%\n 2 cores, bulk size = 32:           -00.95%\n 4 cores, bulk size =  8:           -01.19%\n 4 cores, bulk size = 32:           +00.64%\n16 cores, bulk size =  8:           +01.20%\n16 cores, bulk size = 32:           +00.48%\n\nv2: add comment to explain why pop head CAS relaxed is valid\n    added Fixes information\n\nSteven Lariau (5):\n  lib/stack: fix inconsistent weak / strong cas\n  lib/stack: remove push acquire fence\n  lib/stack: remove redundant orderings for list->len\n  lib/stack: reload head when pop fails\n  lib/stack: remove pop cas release ordering\n\n lib/librte_stack/rte_stack_lf_c11.h | 32 +++++++++++++++++++----------\n 1 file changed, 21 insertions(+), 11 deletions(-)"
}