get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 86540,
    "url": "http://patches.dpdk.org/api/patches/86540/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20210114070830.707550-3-feifei.wang2@arm.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": "<20210114070830.707550-3-feifei.wang2@arm.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210114070830.707550-3-feifei.wang2@arm.com",
    "date": "2021-01-14T07:08:27",
    "name": "[v1,2/5] app/eventdev: remove unnecessary barriers for perf test",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "4ece0b20dfd20dcab2d7f5e524cf85640ecb13b5",
    "submitter": {
        "id": 1771,
        "url": "http://patches.dpdk.org/api/people/1771/?format=api",
        "name": "Feifei Wang",
        "email": "feifei.wang2@arm.com"
    },
    "delegate": {
        "id": 310,
        "url": "http://patches.dpdk.org/api/users/310/?format=api",
        "username": "jerin",
        "first_name": "Jerin",
        "last_name": "Jacob",
        "email": "jerinj@marvell.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20210114070830.707550-3-feifei.wang2@arm.com/mbox/",
    "series": [
        {
            "id": 14718,
            "url": "http://patches.dpdk.org/api/series/14718/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=14718",
            "date": "2021-01-14T07:08:25",
            "name": "refactor smp barriers in app/eventdev",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/14718/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/86540/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/86540/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 37509A0A02;\n\tThu, 14 Jan 2021 08:10:24 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 7C0E6140F4A;\n\tThu, 14 Jan 2021 08:09:12 +0100 (CET)",
            "from foss.arm.com (foss.arm.com [217.140.110.172])\n by mails.dpdk.org (Postfix) with ESMTP id 1657F140F46\n for <dev@dpdk.org>; Thu, 14 Jan 2021 08:09:09 +0100 (CET)",
            "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 90EAA1FB;\n Wed, 13 Jan 2021 23:09:08 -0800 (PST)",
            "from net-x86-dell-8268.shanghai.arm.com\n (net-x86-dell-8268.shanghai.arm.com [10.169.210.127])\n by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 6D6223F719;\n Wed, 13 Jan 2021 23:09:06 -0800 (PST)"
        ],
        "From": "Feifei Wang <feifei.wang2@arm.com>",
        "To": "Jerin Jacob <jerinj@marvell.com>",
        "Cc": "dev@dpdk.org, Honnappa.Nagarahalli@arm.com, nd@arm.com,\n Feifei Wang <feifei.wang2@arm.com>, Ruifeng Wang <ruifeng.wang@arm.com>",
        "Date": "Thu, 14 Jan 2021 15:08:27 +0800",
        "Message-Id": "<20210114070830.707550-3-feifei.wang2@arm.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20210114070830.707550-1-feifei.wang2@arm.com>",
        "References": "<20210114070830.707550-1-feifei.wang2@arm.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v1 2/5] app/eventdev: remove unnecessary barriers\n for perf test",
        "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": "For \"processed_pkts\" and \"total_latency\" functions, no operations should\nkeep the order that being executed before loading\n\"worker[i].processed_pkts\". Thus rmb is unnecessary before loading.\n\nFor \"perf_launch_lcores\" function, wmb after that the main lcore\nupdates the variable \"t->done\", which represents the end of the test\nsignal, is unnecessary. Because after the main lcore updates this\nsiginal variable, it will jump out of the launch function loop, and wait\nother lcores stop or return error in the main function(evt_main.c).\nDuring this time, there is no important storing operation and thus no\nneed for wmb.\n\nSigned-off-by: Feifei Wang <feifei.wang2@arm.com>\nReviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>\n---\n app/test-eventdev/test_perf_common.c | 4 ----\n 1 file changed, 4 deletions(-)",
    "diff": "diff --git a/app/test-eventdev/test_perf_common.c b/app/test-eventdev/test_perf_common.c\nindex 955edb752..34cded373 100644\n--- a/app/test-eventdev/test_perf_common.c\n+++ b/app/test-eventdev/test_perf_common.c\n@@ -224,7 +224,6 @@ processed_pkts(struct test_perf *t)\n \tuint8_t i;\n \tuint64_t total = 0;\n \n-\trte_smp_rmb();\n \tfor (i = 0; i < t->nb_workers; i++)\n \t\ttotal += t->worker[i].processed_pkts;\n \n@@ -237,7 +236,6 @@ total_latency(struct test_perf *t)\n \tuint8_t i;\n \tuint64_t total = 0;\n \n-\trte_smp_rmb();\n \tfor (i = 0; i < t->nb_workers; i++)\n \t\ttotal += t->worker[i].latency;\n \n@@ -327,7 +325,6 @@ perf_launch_lcores(struct evt_test *test, struct evt_options *opt,\n \t\t\t\t\topt->prod_type ==\n \t\t\t\t\tEVT_PROD_TYPE_EVENT_TIMER_ADPTR) {\n \t\t\t\t\tt->done = true;\n-\t\t\t\t\trte_smp_wmb();\n \t\t\t\t\tbreak;\n \t\t\t\t}\n \t\t\t}\n@@ -341,7 +338,6 @@ perf_launch_lcores(struct evt_test *test, struct evt_options *opt,\n \t\t\t\trte_event_dev_dump(opt->dev_id, stdout);\n \t\t\t\tevt_err(\"No schedules for seconds, deadlock\");\n \t\t\t\tt->done = true;\n-\t\t\t\trte_smp_wmb();\n \t\t\t\tbreak;\n \t\t\t}\n \t\t\tdead_lock_remaining = remaining;\n",
    "prefixes": [
        "v1",
        "2/5"
    ]
}