get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 102725,
    "url": "http://patchwork.dpdk.org/api/patches/102725/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20211025045237.19878-2-honnappa.nagarahalli@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": "<20211025045237.19878-2-honnappa.nagarahalli@arm.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20211025045237.19878-2-honnappa.nagarahalli@arm.com",
    "date": "2021-10-25T04:52:34",
    "name": "[v3,1/4] eal: reset lcore function pointer and argument",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "fa258ae42eb272c8fbb4c74cae0db88da2ad88d0",
    "submitter": {
        "id": 1045,
        "url": "http://patchwork.dpdk.org/api/people/1045/?format=api",
        "name": "Honnappa Nagarahalli",
        "email": "honnappa.nagarahalli@arm.com"
    },
    "delegate": {
        "id": 24651,
        "url": "http://patchwork.dpdk.org/api/users/24651/?format=api",
        "username": "dmarchand",
        "first_name": "David",
        "last_name": "Marchand",
        "email": "david.marchand@redhat.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20211025045237.19878-2-honnappa.nagarahalli@arm.com/mbox/",
    "series": [
        {
            "id": 19939,
            "url": "http://patchwork.dpdk.org/api/series/19939/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=19939",
            "date": "2021-10-25T04:52:33",
            "name": "Use correct memory ordering in eal functions",
            "version": 3,
            "mbox": "http://patchwork.dpdk.org/series/19939/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/102725/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/102725/checks/",
    "tags": {},
    "related": [],
    "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 38A84A0C45;\n\tMon, 25 Oct 2021 06:53:05 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 5AD8F410F8;\n\tMon, 25 Oct 2021 06:53:02 +0200 (CEST)",
            "from foss.arm.com (foss.arm.com [217.140.110.172])\n by mails.dpdk.org (Postfix) with ESMTP id 4EB474111C;\n Mon, 25 Oct 2021 06:53:00 +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 C23411FB;\n Sun, 24 Oct 2021 21:52:59 -0700 (PDT)",
            "from qc2400f-1.austin.arm.com (qc2400f-1.austin.arm.com\n [10.118.12.44])\n by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B97D83F73D;\n Sun, 24 Oct 2021 21:52:59 -0700 (PDT)"
        ],
        "From": "Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>",
        "To": "dev@dpdk.org, honnappa.nagarahalli@arm.com, konstantin.ananyev@intel.com,\n david.marchand@redhat.com, feifei.wang2@arm.com",
        "Cc": "ruifeng.wang@arm.com,\n\tnd@arm.com,\n\tstable@dpdk.org",
        "Date": "Sun, 24 Oct 2021 23:52:34 -0500",
        "Message-Id": "<20211025045237.19878-2-honnappa.nagarahalli@arm.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20211025045237.19878-1-honnappa.nagarahalli@arm.com>",
        "References": "<20210224212018.17576-1-honnappa.nagarahalli@arm.com>\n <20211025045237.19878-1-honnappa.nagarahalli@arm.com>",
        "Subject": "[dpdk-dev] [PATCH v3 1/4] eal: reset lcore function pointer and\n argument",
        "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",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "In the rte_eal_remote_launch function, the lcore function\npointer is checked for NULL. However, the pointer is never\nreset to NULL. Reset the lcore function pointer and argument\nafter the worker has completed executing the lcore function.\n\nFixes: af75078fece3 (\"first public release\")\nCc: stable@dpdk.org\n\nSigned-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>\nReviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>\nReviewed-by: Feifei Wang <feifei.wang@arm.com>\n---\n lib/eal/freebsd/eal_thread.c | 2 ++\n lib/eal/linux/eal_thread.c   | 2 ++\n lib/eal/windows/eal_thread.c | 2 ++\n 3 files changed, 6 insertions(+)",
    "diff": "diff --git a/lib/eal/freebsd/eal_thread.c b/lib/eal/freebsd/eal_thread.c\nindex 1dce9b04f2..bbc3a8e985 100644\n--- a/lib/eal/freebsd/eal_thread.c\n+++ b/lib/eal/freebsd/eal_thread.c\n@@ -126,6 +126,8 @@ eal_thread_loop(__rte_unused void *arg)\n \t\tfct_arg = lcore_config[lcore_id].arg;\n \t\tret = lcore_config[lcore_id].f(fct_arg);\n \t\tlcore_config[lcore_id].ret = ret;\n+\t\tlcore_config[lcore_id].f = NULL;\n+\t\tlcore_config[lcore_id].arg = NULL;\n \t\trte_wmb();\n \t\tlcore_config[lcore_id].state = FINISHED;\n \t}\ndiff --git a/lib/eal/linux/eal_thread.c b/lib/eal/linux/eal_thread.c\nindex 83c2034b93..8f3c0dafd6 100644\n--- a/lib/eal/linux/eal_thread.c\n+++ b/lib/eal/linux/eal_thread.c\n@@ -126,6 +126,8 @@ eal_thread_loop(__rte_unused void *arg)\n \t\tfct_arg = lcore_config[lcore_id].arg;\n \t\tret = lcore_config[lcore_id].f(fct_arg);\n \t\tlcore_config[lcore_id].ret = ret;\n+\t\tlcore_config[lcore_id].f = NULL;\n+\t\tlcore_config[lcore_id].arg = NULL;\n \t\trte_wmb();\n \n \t\t/* when a service core returns, it should go directly to WAIT\ndiff --git a/lib/eal/windows/eal_thread.c b/lib/eal/windows/eal_thread.c\nindex 9c3f6d69fd..df1df5d02c 100644\n--- a/lib/eal/windows/eal_thread.c\n+++ b/lib/eal/windows/eal_thread.c\n@@ -110,6 +110,8 @@ eal_thread_loop(void *arg __rte_unused)\n \t\tfct_arg = lcore_config[lcore_id].arg;\n \t\tret = lcore_config[lcore_id].f(fct_arg);\n \t\tlcore_config[lcore_id].ret = ret;\n+\t\tlcore_config[lcore_id].f = NULL;\n+\t\tlcore_config[lcore_id].arg = NULL;\n \t\trte_wmb();\n \n \t\t/* when a service core returns, it should go directly to WAIT\n",
    "prefixes": [
        "v3",
        "1/4"
    ]
}