Show a cover letter.

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

{
    "id": 44,
    "url": "http://patchwork.dpdk.org/api/covers/44/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/cover/1691775136-6460-1-git-send-email-roretzla@linux.microsoft.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": "<1691775136-6460-1-git-send-email-roretzla@linux.microsoft.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1691775136-6460-1-git-send-email-roretzla@linux.microsoft.com",
    "date": "2023-08-11T17:32:10",
    "name": "[v2,0/6] RFC optional rte optional stdatomics API",
    "submitter": {
        "id": 2077,
        "url": "http://patchwork.dpdk.org/api/people/2077/?format=api",
        "name": "Tyler Retzlaff",
        "email": "roretzla@linux.microsoft.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/cover/1691775136-6460-1-git-send-email-roretzla@linux.microsoft.com/mbox/",
    "series": [
        {
            "id": 29194,
            "url": "http://patchwork.dpdk.org/api/series/29194/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=29194",
            "date": "2023-08-11T17:32:10",
            "name": "RFC optional rte optional stdatomics API",
            "version": 2,
            "mbox": "http://patchwork.dpdk.org/series/29194/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/44/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 5E39A43036;\n\tFri, 11 Aug 2023 19:32:21 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id DEADB40F17;\n\tFri, 11 Aug 2023 19:32:20 +0200 (CEST)",
            "from linux.microsoft.com (linux.microsoft.com [13.77.154.182])\n by mails.dpdk.org (Postfix) with ESMTP id A705140144;\n Fri, 11 Aug 2023 19:32:19 +0200 (CEST)",
            "by linux.microsoft.com (Postfix, from userid 1086)\n id E508C20FCD54; Fri, 11 Aug 2023 10:32:18 -0700 (PDT)"
        ],
        "DKIM-Filter": "OpenDKIM Filter v2.11.0 linux.microsoft.com E508C20FCD54",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com;\n s=default; t=1691775138;\n bh=LRTkHAEEZ2Snl00DTYQu9/zZOT3+IKf2kyQti9uX5HQ=;\n h=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n b=Cp2ZQykGLEybeOVPpKUhVy//5kVaxTa926Nz3M5KeicrmAbwZNe0FypvZmb63WyDH\n Dk5rrUiockYhqFVKnc46TgAgXNyn2oqX4X17lrnsaBlm/8vXleVwnuurH2mOc9Ou2Z\n jL20zc+qwoI51qSnbrWoWEu/mityZYELBz7y+Gl8=",
        "From": "Tyler Retzlaff <roretzla@linux.microsoft.com>",
        "To": "dev@dpdk.org",
        "Cc": "techboard@dpdk.org, Bruce Richardson <bruce.richardson@intel.com>,\n Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>,\n Ruifeng Wang <ruifeng.wang@arm.com>, Jerin Jacob <jerinj@marvell.com>,\n Sunil Kumar Kori <skori@marvell.com>,\n =?utf-8?q?Mattias_R=C3=B6nnblom?= <mattias.ronnblom@ericsson.com>,\n Joyce Kong <joyce.kong@arm.com>, David Christensen <drc@linux.vnet.ibm.com>,\n Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>,\n David Hunt <david.hunt@intel.com>, Thomas Monjalon <thomas@monjalon.net>,\n David Marchand <david.marchand@redhat.com>,\n Tyler Retzlaff <roretzla@linux.microsoft.com>",
        "Subject": "[PATCH v2 0/6] RFC optional rte optional stdatomics API",
        "Date": "Fri, 11 Aug 2023 10:32:10 -0700",
        "Message-Id": "<1691775136-6460-1-git-send-email-roretzla@linux.microsoft.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1691717521-1025-1-git-send-email-roretzla@linux.microsoft.com>",
        "References": "<1691717521-1025-1-git-send-email-roretzla@linux.microsoft.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "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"
    },
    "content": "This series introduces API additions prefixed in the rte namespace that allow\nthe optional use of stdatomics.h from C11 using enable_stdatomics=true for\ntargets where enable_stdatomics=false no functional change is intended.\n\nBe aware this does not contain all changes to use stdatomics across the DPDK\ntree it only introduces the minimum to allow the option to be used which is\na pre-requisite for a clean CI (probably using clang) that can be run\nwith enable_stdatomics=true enabled.\n\nIt is planned that subsequent series will be introduced per lib/driver as\nappropriate to further enable stdatomics use when enable_stdatomics=true.\n\nNotes:\n\n* Additional libraries beyond EAL make visible atomics use across the\n  API/ABI surface they will be converted in the subsequent series.\n\n* The eal: add rte atomic qualifier with casts patch needs some discussion\n  as to whether or not the legacy rte_atomic APIs should be converted to\n  work with enable_stdatomic=true right now some implementation dependent\n  casts are used to prevent cascading / having to convert too much in\n  the intial series.\n\n* Windows will obviously need complete conversion of libraries including\n  atomics that are not crossing API/ABI boundaries. those conversions will\n  introduced in separate series as new along side the existing msvc series.\n\nPlease keep in mind we would like to prioritize the review / acceptance of\nthis patch since it needs to be completed in the 23.11 merge window.\n\nThank you all for the discussion that lead to the formation of this series.\n\nv2:\n  * Wrap meson_options.txt option description to newline and indent to\n    be consistent with other options.\n  * Provide separate typedef of rte_memory_order for enable_stdatomic=true\n    VS enable_stdatomic=false instead of a single typedef to int\n    note: slight tweak to reviewers feedback i've chosen to use a typedef\n          for both enable_stdatomic={true,false} (just seemed more consistent)\n  * Bring in assert.h and use static_assert macro instead of _Static_assert\n    keyword to better interoperate with c/c++\n  * Directly include rte_stdatomic.h where into other places it is consumed\n    instead of hacking it globally into rte_config.h\n  * Provide and use __rte_atomic_thread_fence to allow conditional expansion\n    within the body of existing rte_atomic_thread_fence inline function to\n    maintain per-arch optimizations when enable_stdatomic=false\n\nTyler Retzlaff (6):\n  eal: provide rte stdatomics optional atomics API\n  eal: adapt EAL to present rte optional atomics API\n  eal: add rte atomic qualifier with casts\n  distributor: adapt for EAL optional atomics API changes\n  bpf: adapt for EAL optional atomics API changes\n  devtools: forbid new direct use of GCC atomic builtins\n\n app/test/test_mcslock.c                  |   6 +-\n config/meson.build                       |   1 +\n devtools/checkpatches.sh                 |   6 +-\n lib/bpf/bpf_pkt.c                        |   6 +-\n lib/distributor/distributor_private.h    |   2 +-\n lib/distributor/rte_distributor_single.c |  44 ++++----\n lib/eal/arm/include/rte_atomic_32.h      |   4 +-\n lib/eal/arm/include/rte_atomic_64.h      |  36 +++---\n lib/eal/arm/include/rte_pause_64.h       |  26 ++---\n lib/eal/arm/rte_power_intrinsics.c       |   8 +-\n lib/eal/common/eal_common_trace.c        |  16 +--\n lib/eal/include/generic/rte_atomic.h     |  67 +++++++-----\n lib/eal/include/generic/rte_pause.h      |  42 +++----\n lib/eal/include/generic/rte_rwlock.h     |  48 ++++----\n lib/eal/include/generic/rte_spinlock.h   |  20 ++--\n lib/eal/include/meson.build              |   1 +\n lib/eal/include/rte_mcslock.h            |  51 ++++-----\n lib/eal/include/rte_pflock.h             |  25 +++--\n lib/eal/include/rte_seqcount.h           |  19 ++--\n lib/eal/include/rte_stdatomic.h          | 182 +++++++++++++++++++++++++++++++\n lib/eal/include/rte_ticketlock.h         |  43 ++++----\n lib/eal/include/rte_trace_point.h        |   5 +-\n lib/eal/loongarch/include/rte_atomic.h   |   4 +-\n lib/eal/ppc/include/rte_atomic.h         |  54 ++++-----\n lib/eal/riscv/include/rte_atomic.h       |   4 +-\n lib/eal/x86/include/rte_atomic.h         |   8 +-\n lib/eal/x86/include/rte_spinlock.h       |   2 +-\n lib/eal/x86/rte_power_intrinsics.c       |   7 +-\n meson_options.txt                        |   2 +\n 29 files changed, 481 insertions(+), 258 deletions(-)\n create mode 100644 lib/eal/include/rte_stdatomic.h"
}