Show a cover letter.

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

{
    "id": 691,
    "url": "http://patches.dpdk.org/api/covers/691/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/1708971946-18231-1-git-send-email-roretzla@linux.microsoft.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": "<1708971946-18231-1-git-send-email-roretzla@linux.microsoft.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1708971946-18231-1-git-send-email-roretzla@linux.microsoft.com",
    "date": "2024-02-26T18:25:07",
    "name": "[v6,00/39] use C11 alignas",
    "submitter": {
        "id": 2077,
        "url": "http://patches.dpdk.org/api/people/2077/?format=api",
        "name": "Tyler Retzlaff",
        "email": "roretzla@linux.microsoft.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/1708971946-18231-1-git-send-email-roretzla@linux.microsoft.com/mbox/",
    "series": [
        {
            "id": 31229,
            "url": "http://patches.dpdk.org/api/series/31229/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=31229",
            "date": "2024-02-26T18:25:09",
            "name": "use C11 alignas",
            "version": 6,
            "mbox": "http://patches.dpdk.org/series/31229/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/691/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 1CBC743B7E;\n\tMon, 26 Feb 2024 19:26:04 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 9D1B942E36;\n\tMon, 26 Feb 2024 19:25:54 +0100 (CET)",
            "from linux.microsoft.com (linux.microsoft.com [13.77.154.182])\n by mails.dpdk.org (Postfix) with ESMTP id 1BEB1402B2\n for <dev@dpdk.org>; Mon, 26 Feb 2024 19:25:49 +0100 (CET)",
            "by linux.microsoft.com (Postfix, from userid 1086)\n id 3D59D20B74C0; Mon, 26 Feb 2024 10:25:48 -0800 (PST)"
        ],
        "DKIM-Filter": "OpenDKIM Filter v2.11.0 linux.microsoft.com 3D59D20B74C0",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com;\n s=default; t=1708971948;\n bh=R59rY5/TRyuCCy1bVHUQXRk3tZn4bgwFoMHahFaPBtA=;\n h=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n b=Xg5a1svc1ImQ3Oj4cG4OWzMOSUrFJEcROiZSjIg88kt6w9n7tiYF4WWpUIPOZVULH\n MjnX276Z1Xo5l4/Vq4rosRvuNipiaQQhYcKmQgVUGadkf+rXK8Y2c2+NyyLKR9p+PW\n y56fti/yKxRIR4EGZf+Bar6dncyl3WQvDjnA6X8o=",
        "From": "Tyler Retzlaff <roretzla@linux.microsoft.com>",
        "To": "dev@dpdk.org",
        "Cc": "Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,\n Bruce Richardson <bruce.richardson@intel.com>,\n Chengwen Feng <fengchengwen@huawei.com>,\n Cristian Dumitrescu <cristian.dumitrescu@intel.com>,\n David Christensen <drc@linux.vnet.ibm.com>,\n David Hunt <david.hunt@intel.com>, Ferruh Yigit <ferruh.yigit@amd.com>,\n Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>,\n Jasvinder Singh <jasvinder.singh@intel.com>,\n Jerin Jacob <jerinj@marvell.com>, Kevin Laatz <kevin.laatz@intel.com>,\n Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>,\n Min Zhou <zhoumin@loongson.cn>, Ruifeng Wang <ruifeng.wang@arm.com>,\n Sameh Gobriel <sameh.gobriel@intel.com>,\n Stanislaw Kardach <kda@semihalf.com>,\n Thomas Monjalon <thomas@monjalon.net>,\n Vladimir Medvedkin <vladimir.medvedkin@intel.com>,\n Yipeng Wang <yipeng1.wang@intel.com>,\n Tyler Retzlaff <roretzla@linux.microsoft.com>",
        "Subject": "[PATCH v6 00/39] use C11 alignas",
        "Date": "Mon, 26 Feb 2024 10:25:07 -0800",
        "Message-Id": "<1708971946-18231-1-git-send-email-roretzla@linux.microsoft.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1707873986-29352-1-git-send-email-roretzla@linux.microsoft.com>",
        "References": "<1707873986-29352-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": "The current location used for __rte_aligned(a) for alignment of types\nand variables is not compatible with MSVC. There is only a single\nlocation accepted by both toolchains.\n\nFor variables standard C11 offers alignas(a) supported by conformant\ncompilers i.e. both MSVC and GCC.\n\nFor types the standard offers no alignment facility that compatibly\ninteroperates with C and C++ but may be achieved by relocating the\nplacement of __rte_aligned(a) to the aforementioned location accepted\nby all currently supported toolchains.\n\n** NOTE **\n\nFinally, In the interest of not creating more API (internal or not) the\nseries does not introduce a wrapper for C11 alignas. If we don't introduce\na macro an application can't take a dependency.\n\nv6:\n  * update static_assert to use XMM_SIZE instead of literal integer 16\n  * update 2 explicit alignments of ring struct fields to use\n  * alignas(sizeof(uint64_t)) instead of alignas(8)\n\nv5:\n  * rebase series.\n  * reword all commit messages with why the change is necessary.\n  * document guidance for the usage of __rte_aligned macro indicating\n    that it should be used for type alignment only and advising that for\n    variable alignment standard C11 alignas(a) should be preferred.\n\nv4:\n  * restore explicit alignment of 8-byte integers in mbuf and\n    ring patches, natural alignment may be 4-bytes on 32-bit\n    targets.\nv3:\n  * add missing patches for __rte_cache_aligned and\n    __rte_cache_min_aligned\nv2:\n  * add missing #include <stdalign.h> for alignas macro.\n\nTyler Retzlaff (39):\n  eal: use C11 alignas\n  eal: redefine macro to be integer literal for MSVC\n  stack: use C11 alignas\n  sched: use C11 alignas\n  ring: use C11 alignas\n  pipeline: use C11 alignas\n  net: use C11 alignas\n  mbuf: use C11 alignas\n  hash: use C11 alignas\n  eventdev: use C11 alignas\n  ethdev: use C11 alignas\n  dmadev: use C11 alignas\n  distributor: use C11 alignas\n  acl: use C11 alignas\n  vhost: use C11 alignas\n  timer: use C11 alignas\n  table: use C11 alignas\n  reorder: use C11 alignas\n  regexdev: use C11 alignas\n  rcu: use C11 alignas\n  power: use C11 alignas\n  rawdev: use C11 alignas\n  port: use C11 alignas\n  pdcp: use C11 alignas\n  node: use C11 alignas\n  mldev: use C11 alignas\n  mempool: use C11 alignas\n  member: use C11 alignas\n  lpm: use C11 alignas\n  ipsec: use C11 alignas\n  jobstats: use C11 alignas\n  bpf: use C11 alignas\n  compressdev: use C11 alignas\n  cryptodev: use C11 alignas\n  dispatcher: use C11 alignas\n  fib: use C11 alignas\n  gpudev: use C11 alignas\n  graph: use C11 alignas\n  ip_frag: use C11 alignas\n\n lib/acl/acl_run.h                          |  4 ++--\n lib/acl/acl_run_altivec.h                  |  6 ++++--\n lib/acl/acl_run_neon.h                     |  6 ++++--\n lib/bpf/bpf_pkt.c                          |  4 ++--\n lib/compressdev/rte_comp.h                 |  4 ++--\n lib/compressdev/rte_compressdev_internal.h |  8 +++----\n lib/cryptodev/cryptodev_pmd.h              |  8 +++----\n lib/cryptodev/rte_cryptodev_core.h         |  4 ++--\n lib/dispatcher/rte_dispatcher.c            |  4 ++--\n lib/distributor/distributor_private.h      | 34 ++++++++++++++++--------------\n lib/distributor/rte_distributor.c          |  5 +++--\n lib/dmadev/rte_dmadev_core.h               |  4 ++--\n lib/dmadev/rte_dmadev_pmd.h                |  8 +++----\n lib/eal/arm/include/rte_vect.h             |  4 ++--\n lib/eal/common/malloc_elem.h               |  4 ++--\n lib/eal/common/malloc_heap.h               |  4 ++--\n lib/eal/common/rte_keepalive.c             |  3 ++-\n lib/eal/common/rte_random.c                |  4 ++--\n lib/eal/common/rte_service.c               |  8 +++----\n lib/eal/include/generic/rte_atomic.h       |  4 ++--\n lib/eal/include/rte_common.h               | 23 +++++++++++++-------\n lib/eal/loongarch/include/rte_vect.h       |  8 +++----\n lib/eal/ppc/include/rte_vect.h             |  4 ++--\n lib/eal/riscv/include/rte_vect.h           |  4 ++--\n lib/eal/x86/include/rte_vect.h             |  9 +++++---\n lib/eal/x86/rte_power_intrinsics.c         | 10 +++++----\n lib/ethdev/ethdev_driver.h                 |  8 +++----\n lib/ethdev/rte_ethdev.h                    | 16 +++++++-------\n lib/ethdev/rte_ethdev_core.h               |  4 ++--\n lib/ethdev/rte_flow_driver.h               |  4 ++--\n lib/eventdev/event_timer_adapter_pmd.h     |  4 ++--\n lib/eventdev/eventdev_pmd.h                |  8 +++----\n lib/eventdev/rte_event_crypto_adapter.c    | 16 +++++++-------\n lib/eventdev/rte_event_dma_adapter.c       | 16 +++++++-------\n lib/eventdev/rte_event_eth_rx_adapter.c    |  8 +++----\n lib/eventdev/rte_event_eth_tx_adapter.c    |  4 ++--\n lib/eventdev/rte_event_timer_adapter.c     |  9 ++++----\n lib/eventdev/rte_event_timer_adapter.h     |  8 +++----\n lib/eventdev/rte_eventdev.h                |  8 +++----\n lib/eventdev/rte_eventdev_core.h           |  4 ++--\n lib/fib/dir24_8.h                          |  4 +++-\n lib/fib/trie.h                             |  4 +++-\n lib/gpudev/gpudev_driver.h                 |  4 ++--\n lib/graph/graph_private.h                  |  4 ++--\n lib/graph/graph_stats.c                    |  4 ++--\n lib/graph/rte_graph.h                      |  4 ++--\n lib/graph/rte_graph_worker_common.h        | 17 +++++++++------\n lib/hash/rte_cuckoo_hash.h                 | 16 ++++++++------\n lib/hash/rte_thash.c                       |  4 +++-\n lib/hash/rte_thash.h                       |  8 +++----\n lib/ip_frag/ip_reassembly.h                |  8 +++----\n lib/ipsec/rte_ipsec.h                      |  4 ++--\n lib/ipsec/sa.h                             |  4 ++--\n lib/jobstats/rte_jobstats.h                |  8 +++----\n lib/lpm/rte_lpm.h                          |  5 +++--\n lib/lpm/rte_lpm6.c                         |  8 +++----\n lib/mbuf/rte_mbuf_core.h                   |  6 +++---\n lib/member/rte_member.h                    |  8 +++----\n lib/member/rte_member_ht.h                 |  4 ++--\n lib/member/rte_member_sketch.c             |  4 ++--\n lib/mempool/rte_mempool.h                  | 27 ++++++++++++------------\n lib/mldev/rte_mldev.h                      |  4 ++--\n lib/mldev/rte_mldev_core.h                 |  4 ++--\n lib/net/net_crc_avx512.c                   | 14 ++++++------\n lib/net/net_crc_neon.c                     | 11 +++++-----\n lib/net/net_crc_sse.c                      | 17 ++++++++-------\n lib/net/rte_arp.h                          |  8 +++----\n lib/net/rte_ether.h                        |  8 +++----\n lib/node/node_private.h                    |  4 ++--\n lib/node/pkt_cls.c                         |  4 +++-\n lib/pdcp/rte_pdcp.h                        |  4 ++--\n lib/pipeline/rte_pipeline.c                |  4 ++--\n lib/pipeline/rte_port_in_action.c          |  3 ++-\n lib/pipeline/rte_swx_ipsec.c               |  4 +++-\n lib/pipeline/rte_table_action.c            | 24 ++++++++++-----------\n lib/port/rte_port_frag.c                   |  4 ++--\n lib/power/power_acpi_cpufreq.c             |  4 ++--\n lib/power/power_amd_pstate_cpufreq.c       |  4 ++--\n lib/power/power_cppc_cpufreq.c             |  4 ++--\n lib/power/power_intel_uncore.c             |  4 ++--\n lib/power/power_pstate_cpufreq.c           |  4 ++--\n lib/power/rte_power_pmd_mgmt.c             |  4 ++--\n lib/rawdev/rte_rawdev.h                    |  4 ++--\n lib/rcu/rte_rcu_qsbr.h                     | 16 ++++++++------\n lib/regexdev/rte_regexdev_core.h           |  8 +++----\n lib/reorder/rte_reorder.c                  |  8 +++----\n lib/ring/rte_ring_core.h                   | 16 ++++++++------\n lib/ring/rte_ring_peek_zc.h                |  4 ++--\n lib/sched/rte_sched.c                      | 21 +++++++++---------\n lib/sched/rte_sched_common.h               |  2 --\n lib/stack/rte_stack.h                      | 16 ++++++++------\n lib/table/rte_swx_table_learner.c          |  4 ++--\n lib/table/rte_table_acl.c                  |  3 ++-\n lib/table/rte_table_array.c                |  7 +++---\n lib/table/rte_table_hash_cuckoo.c          |  4 +++-\n lib/table/rte_table_hash_ext.c             |  3 ++-\n lib/table/rte_table_hash_key16.c           |  4 +++-\n lib/table/rte_table_hash_key32.c           |  4 +++-\n lib/table/rte_table_hash_key8.c            |  4 +++-\n lib/table/rte_table_hash_lru.c             |  3 ++-\n lib/table/rte_table_lpm.c                  |  3 ++-\n lib/table/rte_table_lpm_ipv6.c             |  3 ++-\n lib/timer/rte_timer.c                      |  4 ++--\n lib/vhost/vhost.h                          |  8 +++----\n lib/vhost/vhost_crypto.c                   |  4 ++--\n 105 files changed, 408 insertions(+), 346 deletions(-)"
}