List comments

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

[
    {
        "id": 115597,
        "web_url": "https://patches.dpdk.org/comment/115597/",
        "msgid": "<CACKs7VBFoe1TrpZiFh8wKyaGNWRmB3H3k_+fCbMR6_1Eox62HQ@mail.gmail.com>",
        "date": "2020-07-09T08:02:25",
        "subject": "Re: [dpdk-dev] [PATCH v2] eal: use c11 atomic built-ins for\n\tinterrupt status",
        "submitter": {
            "id": 172,
            "url": "https://patches.dpdk.org/api/people/172/?format=api",
            "name": "Stefan Puiu",
            "email": "stefan.puiu@gmail.com"
        },
        "content": "Hi,\n\nNoticed 2 typos:\n\nOn Thu, Jul 9, 2020 at 9:46 AM Phil Yang <phil.yang@arm.com> wrote:\n>\n> The event status is defined as a volatile variable and shared between\n> threads. Use c11 atomic built-ins with explicit ordering instead of\n> rte_atomic ops which enforce unnecessary barriers on aarch64.\n>\n> The event status has been cleaned up by the compare-and-swap operation\n> when we free the event data, so there is no need to set it to invalid\n> after that.\n>\n> Signed-off-by: Phil Yang <phil.yang@arm.com>\n> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>\n> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>\n> Reviewed-by: Harman Kalra <hkalra@marvell.com>\n> ---\n> v2:\n> 1. Fixed typo.\n> 2. Updated libabigail.abignore to pass ABI check.\n> 3. Merged v1 two patches into one patch.\n>\n>  devtools/libabigail.abignore                |  4 +++\n>  lib/librte_eal/include/rte_eal_interrupts.h |  2 +-\n>  lib/librte_eal/linux/eal_interrupts.c       | 48 ++++++++++++++++++++---------\n>  3 files changed, 38 insertions(+), 16 deletions(-)\n>\n> diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore\n> index 0133f75..daa4631 100644\n> --- a/devtools/libabigail.abignore\n> +++ b/devtools/libabigail.abignore\n> @@ -48,6 +48,10 @@\n>          changed_enumerators = RTE_CRYPTO_AEAD_LIST_END\n>  [suppress_variable]\n>          name = rte_crypto_aead_algorithm_strings\n> +; Ignore updates of epoll event\n> +[suppress_type]\n> +        type_kind = struct\n> +        name = rte_epoll_event\n>\n>  ;;;;;;;;;;;;;;;;;;;;;;\n>  ; Temporary exceptions till DPDK 20.11\n> diff --git a/lib/librte_eal/include/rte_eal_interrupts.h b/lib/librte_eal/include/rte_eal_interrupts.h\n> index 773a34a..b1e8a29 100644\n> --- a/lib/librte_eal/include/rte_eal_interrupts.h\n> +++ b/lib/librte_eal/include/rte_eal_interrupts.h\n> @@ -59,7 +59,7 @@ enum {\n>\n>  /** interrupt epoll event obj, taken by epoll_event.ptr */\n>  struct rte_epoll_event {\n> -       volatile uint32_t status;  /**< OUT: event status */\n> +       uint32_t status;           /**< OUT: event status */\n>         int fd;                    /**< OUT: event fd */\n>         int epfd;       /**< OUT: epoll instance the ev associated with */\n>         struct rte_epoll_data epdata;\n> diff --git a/lib/librte_eal/linux/eal_interrupts.c b/lib/librte_eal/linux/eal_interrupts.c\n> index 84eeaa1..7a50869 100644\n> --- a/lib/librte_eal/linux/eal_interrupts.c\n> +++ b/lib/librte_eal/linux/eal_interrupts.c\n> @@ -26,7 +26,6 @@\n>  #include <rte_eal.h>\n>  #include <rte_per_lcore.h>\n>  #include <rte_lcore.h>\n> -#include <rte_atomic.h>\n>  #include <rte_branch_prediction.h>\n>  #include <rte_debug.h>\n>  #include <rte_log.h>\n> @@ -1221,11 +1220,18 @@ eal_epoll_process_event(struct epoll_event *evs, unsigned int n,\n>  {\n>         unsigned int i, count = 0;\n>         struct rte_epoll_event *rev;\n> +       uint32_t valid_status;\n>\n>         for (i = 0; i < n; i++) {\n>                 rev = evs[i].data.ptr;\n> -               if (!rev || !rte_atomic32_cmpset(&rev->status, RTE_EPOLL_VALID,\n> -                                                RTE_EPOLL_EXEC))\n> +               valid_status =  RTE_EPOLL_VALID;\n> +               /* ACQUIRE memory ordering here pairs with RELEASE\n> +                * ordering bellow acting as a lock to synchronize\ns/bellow/below\n\n> +                * the event data updating.\n> +                */\n> +               if (!rev || !__atomic_compare_exchange_n(&rev->status,\n> +                                   &valid_status, RTE_EPOLL_EXEC, 0,\n> +                                   __ATOMIC_ACQUIRE, __ATOMIC_RELAXED))\n>                         continue;\n>\n>                 events[count].status        = RTE_EPOLL_VALID;\n> @@ -1237,8 +1243,11 @@ eal_epoll_process_event(struct epoll_event *evs, unsigned int n,\n>                         rev->epdata.cb_fun(rev->fd,\n>                                            rev->epdata.cb_arg);\n>\n> -               rte_compiler_barrier();\n> -               rev->status = RTE_EPOLL_VALID;\n> +               /* the status update should be observed after\n> +                * the other fields changes.\ns/fields changes/fields change/\n\nThanks,\nStefan.\n\n> +                */\n> +               __atomic_store_n(&rev->status, RTE_EPOLL_VALID,\n> +                               __ATOMIC_RELEASE);\n>                 count++;\n>         }\n>         return count;\n> @@ -1308,10 +1317,14 @@ rte_epoll_wait(int epfd, struct rte_epoll_event *events,\n>  static inline void\n>  eal_epoll_data_safe_free(struct rte_epoll_event *ev)\n>  {\n> -       while (!rte_atomic32_cmpset(&ev->status, RTE_EPOLL_VALID,\n> -                                   RTE_EPOLL_INVALID))\n> -               while (ev->status != RTE_EPOLL_VALID)\n> +       uint32_t valid_status = RTE_EPOLL_VALID;\n> +       while (!__atomic_compare_exchange_n(&ev->status, &valid_status,\n> +                   RTE_EPOLL_INVALID, 0, __ATOMIC_ACQUIRE, __ATOMIC_RELAXED)) {\n> +               while (__atomic_load_n(&ev->status,\n> +                               __ATOMIC_RELAXED) != RTE_EPOLL_VALID)\n>                         rte_pause();\n> +               valid_status = RTE_EPOLL_VALID;\n> +       }\n>         memset(&ev->epdata, 0, sizeof(ev->epdata));\n>         ev->fd = -1;\n>         ev->epfd = -1;\n> @@ -1333,7 +1346,8 @@ rte_epoll_ctl(int epfd, int op, int fd,\n>                 epfd = rte_intr_tls_epfd();\n>\n>         if (op == EPOLL_CTL_ADD) {\n> -               event->status = RTE_EPOLL_VALID;\n> +               __atomic_store_n(&event->status, RTE_EPOLL_VALID,\n> +                               __ATOMIC_RELAXED);\n>                 event->fd = fd;  /* ignore fd in event */\n>                 event->epfd = epfd;\n>                 ev.data.ptr = (void *)event;\n> @@ -1345,11 +1359,13 @@ rte_epoll_ctl(int epfd, int op, int fd,\n>                         op, fd, strerror(errno));\n>                 if (op == EPOLL_CTL_ADD)\n>                         /* rollback status when CTL_ADD fail */\n> -                       event->status = RTE_EPOLL_INVALID;\n> +                       __atomic_store_n(&event->status, RTE_EPOLL_INVALID,\n> +                                       __ATOMIC_RELAXED);\n>                 return -1;\n>         }\n>\n> -       if (op == EPOLL_CTL_DEL && event->status != RTE_EPOLL_INVALID)\n> +       if (op == EPOLL_CTL_DEL && __atomic_load_n(&event->status,\n> +                       __ATOMIC_RELAXED) != RTE_EPOLL_INVALID)\n>                 eal_epoll_data_safe_free(event);\n>\n>         return 0;\n> @@ -1378,7 +1394,8 @@ rte_intr_rx_ctl(struct rte_intr_handle *intr_handle, int epfd,\n>         case RTE_INTR_EVENT_ADD:\n>                 epfd_op = EPOLL_CTL_ADD;\n>                 rev = &intr_handle->elist[efd_idx];\n> -               if (rev->status != RTE_EPOLL_INVALID) {\n> +               if (__atomic_load_n(&rev->status,\n> +                               __ATOMIC_RELAXED) != RTE_EPOLL_INVALID) {\n>                         RTE_LOG(INFO, EAL, \"Event already been added.\\n\");\n>                         return -EEXIST;\n>                 }\n> @@ -1401,7 +1418,8 @@ rte_intr_rx_ctl(struct rte_intr_handle *intr_handle, int epfd,\n>         case RTE_INTR_EVENT_DEL:\n>                 epfd_op = EPOLL_CTL_DEL;\n>                 rev = &intr_handle->elist[efd_idx];\n> -               if (rev->status == RTE_EPOLL_INVALID) {\n> +               if (__atomic_load_n(&rev->status,\n> +                               __ATOMIC_RELAXED) == RTE_EPOLL_INVALID) {\n>                         RTE_LOG(INFO, EAL, \"Event does not exist.\\n\");\n>                         return -EPERM;\n>                 }\n> @@ -1426,12 +1444,12 @@ rte_intr_free_epoll_fd(struct rte_intr_handle *intr_handle)\n>\n>         for (i = 0; i < intr_handle->nb_efd; i++) {\n>                 rev = &intr_handle->elist[i];\n> -               if (rev->status == RTE_EPOLL_INVALID)\n> +               if (__atomic_load_n(&rev->status,\n> +                               __ATOMIC_RELAXED) == RTE_EPOLL_INVALID)\n>                         continue;\n>                 if (rte_epoll_ctl(rev->epfd, EPOLL_CTL_DEL, rev->fd, rev)) {\n>                         /* force free if the entry valid */\n>                         eal_epoll_data_safe_free(rev);\n> -                       rev->status = RTE_EPOLL_INVALID;\n>                 }\n>         }\n>  }\n> --\n> 2.7.4\n>",
        "headers": {
            "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
            "X-Mailman-Version": "2.1.15",
            "Precedence": "list",
            "X-Gm-Message-State": "AOAM53322jdPn3LqDqMvMc1LevH3B91nfkLaPhDIb44AldzS/i4BuFcq\n tu7iPxWldttnGsK0EgZBCbUPq6J2tEso8U6s43U=",
            "X-Google-Smtp-Source": "\n ABdhPJwD5uRLIGQknR047zQh1n2jr8n3Xcz9BazdrOKeVhthxr4qqVX8lMtpGLGvF0bXSlNCkKhmXEkeup+I4SOlNv4=",
            "List-Post": "<mailto:dev@dpdk.org>",
            "MIME-Version": "1.0",
            "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
            "X-BeenThere": "dev@dpdk.org",
            "References": "<1591871065-12461-1-git-send-email-phil.yang@arm.com>\n <1594277162-15021-1-git-send-email-phil.yang@arm.com>",
            "Subject": "Re: [dpdk-dev] [PATCH v2] eal: use c11 atomic built-ins for\n\tinterrupt status",
            "Content-Type": "text/plain; charset=\"UTF-8\"",
            "From": "Stefan Puiu <stefan.puiu@gmail.com>",
            "Received": [
                "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 5AB14A0526;\n\tThu,  9 Jul 2020 10:02:39 +0200 (CEST)",
                "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 0CAE61DCDF;\n\tThu,  9 Jul 2020 10:02:39 +0200 (CEST)",
                "from mail-pl1-f195.google.com (mail-pl1-f195.google.com\n [209.85.214.195]) by dpdk.org (Postfix) with ESMTP id 1D2A81DCDA\n for <dev@dpdk.org>; Thu,  9 Jul 2020 10:02:38 +0200 (CEST)",
                "by mail-pl1-f195.google.com with SMTP id k5so505432plk.13\n for <dev@dpdk.org>; Thu, 09 Jul 2020 01:02:38 -0700 (PDT)"
            ],
            "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
            "X-Original-To": "patchwork@inbox.dpdk.org",
            "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
            "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:mime-version:references:in-reply-to:from:date\n :message-id:subject:to:cc;\n bh=O0odiepyXVwKlzBUrlNporSIx+JK7HIVFHdtVm8byfI=;\n b=l0nZzEyNiSXoucoJP0FuGydB0bh3wJBY0xNq4vrqO8z9niL2bR4NH2I+WFs8x6k8Uc\n HJYFPxbN67MpBaWdhI91mx2o26DnZ3v1oh5dzK8RO9Icqgqo8ExeJ10bkecYSPM64Ptq\n sSQAvWZ9Adtry6S+3eZISEhNxKOsQMTCJQRhcU6RMCUHj8t0bW1l+3rFI0r9Y/k1EGWP\n ZrQl+wG6Cztl9dJOB2LroaQIHEYnbenUuTY4CdvC2V+z0rSF9jgJ0y68moHttG+7zJ5g\n YAWC8FAZ1CO5TFVtdF5r5Y0432lJBC3QMP5JfMEpSg0kHM2UQe9C6Rr5PY/Zxanqbhk8\n EsEw==",
            "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n h=mime-version:references:in-reply-to:from:date:message-id:subject:to\n :cc; bh=O0odiepyXVwKlzBUrlNporSIx+JK7HIVFHdtVm8byfI=;\n b=Vah0kS6Jl9qjAHRUV7JORcLmPVmTR7Z6J3mE/hln61azespRnrWUp9qBr+YpWAeIYX\n txs17lm5cHnF4yXtYCiBVdS7mtZ8hSxRtlbO+lurwHIXk2UymPJ5vOZqYa6+Bf/5fTiO\n 6Y/K6XmgtwCk18kdGrRjpkRSVXEIFV5Vpez4Iyg5oBTxXs4AA+ofNGb+PwhKBJYqQIKc\n KmKleNU95rNTuBn0RBt4t87mJstu5nsgerHNo6kdNHgt0GtedizRb7nOUfBAgLnlOLfs\n KUYmx2FJJkRDvM223EdXN5N0nK39ic1roR8A/6hL4wqxxgin05K5c/aRofveqEZMKWhq\n mL5w==",
            "Message-ID": "\n <CACKs7VBFoe1TrpZiFh8wKyaGNWRmB3H3k_+fCbMR6_1Eox62HQ@mail.gmail.com>",
            "Date": "Thu, 9 Jul 2020 11:02:25 +0300",
            "Sender": "\"dev\" <dev-bounces@dpdk.org>",
            "X-Received": "by 2002:a17:90a:e2c7:: with SMTP id\n fr7mr13498231pjb.103.1594281757143;\n Thu, 09 Jul 2020 01:02:37 -0700 (PDT)",
            "To": "Phil Yang <phil.yang@arm.com>",
            "Delivered-To": "patchwork@inbox.dpdk.org",
            "In-Reply-To": "<1594277162-15021-1-git-send-email-phil.yang@arm.com>",
            "Cc": "david.marchand@redhat.com, dev@dpdk.org, mdr@ashroe.eu,\n aconole@redhat.com,\n drc@linux.vnet.ibm.com, Honnappa.Nagarahalli@arm.com, Ruifeng.Wang@arm.com,\n nd@arm.com, dodji@redhat.com, Neil Horman <nhorman@tuxdriver.com>,\n hkalra@marvell.com",
            "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
            "Errors-To": "dev-bounces@dpdk.org",
            "Return-Path": "<dev-bounces@dpdk.org>"
        }
    },
    {
        "id": 115598,
        "web_url": "https://patches.dpdk.org/comment/115598/",
        "msgid": "<VE1PR08MB46407F5B6B35446065D280B3E9640@VE1PR08MB4640.eurprd08.prod.outlook.com>",
        "date": "2020-07-09T08:07:42",
        "subject": "Re: [dpdk-dev] [PATCH v2] eal: use c11 atomic built-ins for\n interrupt status",
        "submitter": {
            "id": 833,
            "url": "https://patches.dpdk.org/api/people/833/?format=api",
            "name": "Phil Yang",
            "email": "phil.yang@arm.com"
        },
        "content": "> -----Original Message-----\n> From: Stefan Puiu <stefan.puiu@gmail.com>\n> Sent: Thursday, July 9, 2020 4:02 PM\n> To: Phil Yang <Phil.Yang@arm.com>\n> Cc: david.marchand@redhat.com; dev@dpdk.org; mdr@ashroe.eu;\n> aconole@redhat.com; drc@linux.vnet.ibm.com; Honnappa Nagarahalli\n> <Honnappa.Nagarahalli@arm.com>; Ruifeng Wang\n> <Ruifeng.Wang@arm.com>; nd <nd@arm.com>; dodji@redhat.com; Neil\n> Horman <nhorman@tuxdriver.com>; hkalra@marvell.com\n> Subject: Re: [dpdk-dev] [PATCH v2] eal: use c11 atomic built-ins for interrupt\n> status\n> \n> Hi,\n> \n> Noticed 2 typos:\nHi Stefan,\n\nThanks for your feedback.\nWill do.\n\nThanks,\nPhil\n\n<snip>",
        "headers": {
            "Accept-Language": "zh-CN, en-US",
            "X-Mailman-Version": "2.1.15",
            "x-ms-oob-tlc-oobclassifiers": "OLM:3631;OLM:3631;",
            "X-CR-MTA-TID": "64aa7808",
            "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
            "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
            "Precedence": "list",
            "X-Forefront-Antispam-Report-Untrusted": "CIP:255.255.255.255; CTRY:; LANG:en;\n SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VE1PR08MB4640.eurprd08.prod.outlook.com;\n PTR:; CAT:NONE; SFTY:;\n SFS:(4636009)(136003)(366004)(346002)(376002)(39860400002)(396003)(53546011)(64756008)(66476007)(66556008)(6506007)(66446008)(66946007)(186003)(2906002)(4326008)(6916009)(5660300002)(4744005)(7696005)(8936002)(83380400001)(55016002)(86362001)(8676002)(9686003)(52536014)(76116006)(26005)(316002)(478600001)(33656002)(54906003)(71200400001);\n DIR:OUT; SFP:1101;",
            "List-Post": "<mailto:dev@dpdk.org>",
            "Date": "Thu, 9 Jul 2020 08:07:42 +0000",
            "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123];\n Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]",
            "Subject": "Re: [dpdk-dev] [PATCH v2] eal: use c11 atomic built-ins for\n interrupt status",
            "x-forefront-prvs": "04599F3534",
            "Content-Transfer-Encoding": "base64",
            "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
            "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
            "From": "Phil Yang <Phil.Yang@arm.com>",
            "Received": [
                "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 52346A0526;\n\tThu,  9 Jul 2020 10:07:54 +0200 (CEST)",
                "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id A4DAC1B75C;\n\tThu,  9 Jul 2020 10:07:53 +0200 (CEST)",
                "from EUR03-DB5-obe.outbound.protection.outlook.com\n (mail-eopbgr40080.outbound.protection.outlook.com [40.107.4.80])\n by dpdk.org (Postfix) with ESMTP id B5F981DBB\n for <dev@dpdk.org>; Thu,  9 Jul 2020 10:07:52 +0200 (CEST)",
                "from AM6P192CA0031.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:83::44)\n by VI1PR08MB2846.eurprd08.prod.outlook.com (2603:10a6:802:21::24) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.22; Thu, 9 Jul\n 2020 08:07:51 +0000",
                "from AM5EUR03FT014.eop-EUR03.prod.protection.outlook.com\n (2603:10a6:209:83:cafe::e5) by AM6P192CA0031.outlook.office365.com\n (2603:10a6:209:83::44) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.21 via Frontend\n Transport; Thu, 9 Jul 2020 08:07:51 +0000",
                "from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by\n AM5EUR03FT014.mail.protection.outlook.com (10.152.16.130) with\n Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.3174.21 via Frontend Transport; Thu, 9 Jul 2020 08:07:51 +0000",
                "(\"Tessian outbound c83312565ef4:v62\");\n Thu, 09 Jul 2020 08:07:51 +0000",
                "from 6544396aed7b.2\n by 64aa7808-outbound-1.mta.getcheckrecipient.com id\n A5817061-E44C-43C1-A96D-0399320BEDAE.1;\n Thu, 09 Jul 2020 08:07:45 +0000",
                "from EUR01-VE1-obe.outbound.protection.outlook.com\n by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id\n 6544396aed7b.2\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);\n Thu, 09 Jul 2020 08:07:45 +0000",
                "from VE1PR08MB4640.eurprd08.prod.outlook.com (2603:10a6:802:b2::11)\n by VI1PR08MB3854.eurprd08.prod.outlook.com (2603:10a6:803:c2::10)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.28; Thu, 9 Jul\n 2020 08:07:42 +0000",
                "from VE1PR08MB4640.eurprd08.prod.outlook.com\n ([fe80::c2e:9ccb:a690:6863]) by VE1PR08MB4640.eurprd08.prod.outlook.com\n ([fe80::c2e:9ccb:a690:6863%6]) with mapi id 15.20.3174.022; Thu, 9 Jul 2020\n 08:07:42 +0000"
            ],
            "x-originating-ip": "[203.126.0.112]",
            "X-MS-Office365-Filtering-HT": "Tenant",
            "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 63.35.35.123)\n smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified)\n header.d=armh.onmicrosoft.com;dpdk.org; dmarc=bestguesspass action=none\n header.from=arm.com;",
            "x-ms-exchange-transport-forked": "True",
            "X-MS-Exchange-CrossTenant-AuthSource": "\n AM5EUR03FT014.eop-EUR03.prod.protection.outlook.com",
            "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
            "x-checkrecipientchecked": "true",
            "x-ts-tracking-id": "329162c2-1d83-4f5e-b6fa-a74cae06af86.0",
            "DKIM-Signature": [
                "v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;\n s=selector2-armh-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=163v8aHkzsl12R5h74ZCLjpjKgS43zUId0HmTx2gdRs=;\n b=KXWzwI8n/YhKDD4Rr0fvo6VPRQYxfAQlmW9ylZ5sychKE6Vn+L1G2mXNp60DAK1/7bjwT2yRBVMBJnJ3/3nHVqtwUlkqKFFgLPfXKQ7gyQbZ1TeJUsFG48zOOGl20h5HvZPjTAUsrjPEIiZNk/jT/NHJvoFcuiXX1SZSSctw+eA=",
                "v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;\n s=selector2-armh-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=163v8aHkzsl12R5h74ZCLjpjKgS43zUId0HmTx2gdRs=;\n b=KXWzwI8n/YhKDD4Rr0fvo6VPRQYxfAQlmW9ylZ5sychKE6Vn+L1G2mXNp60DAK1/7bjwT2yRBVMBJnJ3/3nHVqtwUlkqKFFgLPfXKQ7gyQbZ1TeJUsFG48zOOGl20h5HvZPjTAUsrjPEIiZNk/jT/NHJvoFcuiXX1SZSSctw+eA="
            ],
            "Message-ID": "\n <VE1PR08MB46407F5B6B35446065D280B3E9640@VE1PR08MB4640.eurprd08.prod.outlook.com>",
            "Sender": "\"dev\" <dev-bounces@dpdk.org>",
            "Received-SPF": "Pass (protection.outlook.com: domain of arm.com designates\n 63.35.35.123 as permitted sender) receiver=protection.outlook.com;\n client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;",
            "To": "Stefan Puiu <stefan.puiu@gmail.com>",
            "Original-Authentication-Results": "gmail.com; dkim=none (message not signed)\n header.d=none;gmail.com; dmarc=none action=none header.from=arm.com;",
            "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
            "Delivered-To": "patchwork@inbox.dpdk.org",
            "x-checkrecipientrouted": "true",
            "x-ms-publictraffictype": "Email",
            "Content-Language": "en-US",
            "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass\n header.d=arm.com; arc=none",
            "X-MS-TNEF-Correlator": "",
            "X-EOPAttributedMessage": "0",
            "X-Microsoft-Antispam-Untrusted": "BCL:0;",
            "Thread-Index": "AQHWVcdheW0RxTR4I0eLl42jGzkUv6j+4+VQ",
            "CC": "\"david.marchand@redhat.com\" <david.marchand@redhat.com>, \"dev@dpdk.org\"\n <dev@dpdk.org>, \"mdr@ashroe.eu\" <mdr@ashroe.eu>, \"aconole@redhat.com\"\n <aconole@redhat.com>, \"drc@linux.vnet.ibm.com\" <drc@linux.vnet.ibm.com>,\n Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>, Ruifeng Wang\n <Ruifeng.Wang@arm.com>, nd <nd@arm.com>, \"dodji@redhat.com\"\n <dodji@redhat.com>, Neil Horman <nhorman@tuxdriver.com>, \"hkalra@marvell.com\"\n <hkalra@marvell.com>",
            "X-OriginatorOrg": "arm.com",
            "Thread-Topic": "[dpdk-dev] [PATCH v2] eal: use c11 atomic built-ins for\n interrupt status",
            "Authentication-Results-Original": "gmail.com; dkim=none (message not signed)\n header.d=none;gmail.com; dmarc=none action=none header.from=arm.com;",
            "X-Original-To": "patchwork@inbox.dpdk.org",
            "X-Microsoft-Antispam-PRVS": "\n <VI1PR08MB2846F5FB60FCDCFE4F45F3D5E9640@VI1PR08MB2846.eurprd08.prod.outlook.com>",
            "X-MS-Exchange-Transport-CrossTenantHeadersStripped": "\n AM5EUR03FT014.eop-EUR03.prod.protection.outlook.com",
            "x-ms-traffictypediagnostic": "VI1PR08MB3854:|VI1PR08MB2846:",
            "MIME-Version": "1.0",
            "X-MS-Exchange-CrossTenant-Id": "f34e5979-57d9-4aaa-ad4d-b122a662184d",
            "X-BeenThere": "dev@dpdk.org",
            "References": "<1591871065-12461-1-git-send-email-phil.yang@arm.com>\n <1594277162-15021-1-git-send-email-phil.yang@arm.com>\n <CACKs7VBFoe1TrpZiFh8wKyaGNWRmB3H3k_+fCbMR6_1Eox62HQ@mail.gmail.com>",
            "Content-Type": "text/plain; charset=\"utf-8\"",
            "X-Microsoft-Antispam-Message-Info-Original": "\n 3phGVZKWDxQocU6/ZScia6NiQP/UOgzZ9KDHc7eF/GTEg3WgD1MIVQ1BYSI0Vw06KtF69vrnxqum1wnzCQQ0kk3LYTcR+CUaLdYp3hFJk5K8DuZsCGbhEZ3v3YrYjWHq8cEj7ESsYgKuwIpddvQ0Bhht95LNPuKH87xKXPbQUlxDZhQqQZo6mW+xsQvhB21PulghJo5SQOyx0/A45w9R2Ezv7AvK2XnN/d0/R/wRH0hBgIfBfbeurqXm1srGtSe6dTm+wzMAhHWq/Sbv8dQfA7I5xNR1ajU+cPQZ8e64Y2ZoPz9ENwdUMBX6fSYOtJ6PmAc4c5e9UvBFVyaxuSLFyQ==",
            "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
            "X-Forefront-Antispam-Report": "CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:;\n IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com;\n PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFTY:;\n SFS:(4636009)(136003)(396003)(39860400002)(346002)(376002)(46966005)(53546011)(478600001)(82310400002)(54906003)(356005)(6506007)(81166007)(7696005)(36906005)(47076004)(2906002)(86362001)(82740400003)(316002)(52536014)(4744005)(83380400001)(26005)(5660300002)(4326008)(107886003)(6862004)(9686003)(336012)(33656002)(55016002)(70586007)(70206006)(186003)(8936002)(8676002);\n DIR:OUT; SFP:1101;",
            "X-MS-Exchange-Transport-CrossTenantHeadersStamped": [
                "VI1PR08MB3854",
                "VI1PR08MB2846"
            ],
            "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=163v8aHkzsl12R5h74ZCLjpjKgS43zUId0HmTx2gdRs=;\n b=mXut5IZ/kdvOhLXBVaoP+wek4CVWSmldJPQioj/6rpmj0Y1feYaQCNC1xl1gV8L2ut7OCytOLw1TqwTjjJs4Od7QYBbynhDrRq65kX1ctDMHfo9rxBg+KuKvZNWsWUEaxxiGIBMR2wconYfWc3XlXB89eRq8L6aYxltTBUC5P9TrG9dPn7DdDcRc2UYTSejfugEV4gflmfcuWDyj3iErBajhu5wVYieuOH5uONnclIGtxOGBVMvhAZzg8lPSPxQB1+bbR/EOHa4roJFL5hI3zbrhKucIyPoHPn1JHinobk4hj3D872+g35bZYk82ERXNdrfIE4917kZLFQ+xjioa3Q==",
            "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 73cd561a-cf96-44b0-db86-08d823df2d06",
            "X-MS-Office365-Filtering-Correlation-Id-Prvs": "\n e9ffd0a2-9d95-4d07-c2b2-08d823df27e6",
            "nodisclaimer": "true",
            "X-MS-Office365-Filtering-Correlation-Id": "73cd561a-cf96-44b0-db86-08d823df2d06",
            "X-MS-Has-Attach": "",
            "X-Microsoft-Antispam-Message-Info": "\n JMXg1KBH9av26kld3bgoYHmCAavfdQDTFNUGBVlQrfFJS7oLv/ka9Ns0uK10+i8olbn5yyTzPxR9xfchl6SgPHnXsN7ZcLDnkdO1PK49kAqT2vtR4jvnaqWE2lgXEHhClrp9qL3BJCtWBLUxIt5jCTSsYKAkEY1VzDVrTwDLYyD17Jn7fr1bXL0lX7zdOv2w68vhBLrZQq7onXrhJbx3vnQHzvMj2psEX4N32lWoF1NzWF6WqZ0Z7QLzvsSdgfkjGmRinmCD4YrmzvIe8eSdyYl2RQJEpyxzhcqNkxftyzWa6UKAgRQMlqKWY9fL7bF4tzW/EEWnMOZHrxs+9lcdI9/8nuxjB+YwoUPZgXtuHeZJ8lfUZ20PKNigDNbKF8au4DzRUoJkyVY3BJ6if4KD1w==",
            "x-ms-exchange-antispam-messagedata": "\n ZQ1UmhKL92pRsrk3k+ywPgblI1pF4irdqKbLTGz972Lvpaq2jY26ddrnkLqyA+TfxOsHFOQITp3eSOIrpiKDvKdJsI+R5ySYTz85I/QWjSGZ+yFD3aKP377SCO3qIkORq93FMxzTcGBrFCa/8PJA7svT3JKnP7v9IYq7LclshaW2Db33EVvX8ZDm6k5nQkc8bhyag2HccyCwk2jqTPS+vF5UWcm6KtHfJYbAFFY0qIPS56fTbLzz3BRoGHbCSNbuaWWWmk5s2U7k7vweg+8UsV7OVX3hNN98J84Yk2x9YwcuZdcAV21jhhktA8AXIJ4J2j9upowieLtLFAst89+hUCfMJeaCkTi7KadtjkUTzK6AzvURaiOh7ZZJ5X/ISgPEIecIlGciZSORnKIWGe5H5oIPDdicfRgs/dB/d9FS5Sl1nHgs3Y71FJ1kCF2wXYonGDSyuZQBl07xetm4if2yen5YMRu5h5HWDC1N+OwGAu4=",
            "X-MS-Exchange-SenderADCheck": "1",
            "In-Reply-To": "\n <CACKs7VBFoe1TrpZiFh8wKyaGNWRmB3H3k_+fCbMR6_1Eox62HQ@mail.gmail.com>",
            "X-Microsoft-Antispam": "BCL:0;",
            "Return-Path": "<dev-bounces@dpdk.org>",
            "Errors-To": "dev-bounces@dpdk.org",
            "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=dR0nb/zTjEvc86rkcLfc9pcMG6VfePPaKgQuF2DwklZWjubwmG2pkBMNJCsHsSctgB8My3otKzJFfGviIBE1FKcIS8zoloYi+3U7MbJ7cWBgGxso55HsLKIJHbS4ZjykkYUcsagREq41FWrwJQTTa9pMX17jrd7GqIMrdQDMjpCryrg6muL+caaCgd0IJMb4kLCXxYY1ip9szC6XlzMbmJi81AkFe9bfaPxYIr0RpjlDtTEJB8uHC1iBvrtsINptPB8uB0FEdgsaqmSwbG0E9SbSJE6nGWmW9O+wB6B1pMoiMmo5rPZHeV1UWjlKyS5w2FOZsjh7ZGXgAkkPF2JxCg==",
            "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "09 Jul 2020 08:07:51.2428 (UTC)"
        }
    }
]