get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 69550,
    "url": "http://patches.dpdk.org/api/patches/69550/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/0ebd62205da8cd9964dcd370a69cc5a38f54dede.1588162894.git.anatoly.burakov@intel.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": "<0ebd62205da8cd9964dcd370a69cc5a38f54dede.1588162894.git.anatoly.burakov@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/0ebd62205da8cd9964dcd370a69cc5a38f54dede.1588162894.git.anatoly.burakov@intel.com",
    "date": "2020-04-29T12:21:43",
    "name": "l3fwd-power: add Rx interrupt timeout",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "5f7d2912970017f53cf3394b53dca372595e62cd",
    "submitter": {
        "id": 4,
        "url": "http://patches.dpdk.org/api/people/4/?format=api",
        "name": "Anatoly Burakov",
        "email": "anatoly.burakov@intel.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/0ebd62205da8cd9964dcd370a69cc5a38f54dede.1588162894.git.anatoly.burakov@intel.com/mbox/",
    "series": [
        {
            "id": 9735,
            "url": "http://patches.dpdk.org/api/series/9735/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=9735",
            "date": "2020-04-29T12:21:43",
            "name": "l3fwd-power: add Rx interrupt timeout",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/9735/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/69550/comments/",
    "check": "warning",
    "checks": "http://patches.dpdk.org/api/patches/69550/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 dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id A6156A00BE;\n\tWed, 29 Apr 2020 14:21:48 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 885771DA8B;\n\tWed, 29 Apr 2020 14:21:48 +0200 (CEST)",
            "from mga01.intel.com (mga01.intel.com [192.55.52.88])\n by dpdk.org (Postfix) with ESMTP id 7EF021DA11;\n Wed, 29 Apr 2020 14:21:46 +0200 (CEST)",
            "from orsmga002.jf.intel.com ([10.7.209.21])\n by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 29 Apr 2020 05:21:45 -0700",
            "from aburakov-mobl.ger.corp.intel.com (HELO ubuntu-vm.mshome.net)\n ([10.213.243.43])\n by orsmga002.jf.intel.com with ESMTP; 29 Apr 2020 05:21:44 -0700"
        ],
        "IronPort-SDR": [
            "\n 6TKanuLKUYIVWwBHdpDsgHzS0Scq42n19KADZ5wr2wjoC9MzN8WUccQYcqryHF8VvuBPLTZ4MH\n AvxMDIBPo98g==",
            "\n nIYZS5W/tvODiMm4PjrnDF9dlBCv2lIHPNq8j90XFp9vWOQcCkzHTaVhO4Hf6bpDTXGauuZtiJ\n hDkuF74Lt0PQ=="
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.73,332,1583222400\"; d=\"scan'208\";a=\"276154708\"",
        "From": "Anatoly Burakov <anatoly.burakov@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "David Hunt <david.hunt@intel.com>,\n\tstable@dpdk.org",
        "Date": "Wed, 29 Apr 2020 12:21:43 +0000",
        "Message-Id": "\n <0ebd62205da8cd9964dcd370a69cc5a38f54dede.1588162894.git.anatoly.burakov@intel.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "Subject": "[dpdk-dev] [PATCH] l3fwd-power: add Rx interrupt timeout",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "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": "Currently, thread waiting on an interrupt does not have a timeout, so\nit will not ever wake up until traffic arrives. This means that, when\ntime comes to exit the application, it will not quit unless there\nhappens to be traffic coming in and waking up the thread from sleep.\n\nFix it so that the interrupt thread sleeps for 10ms before waking up\nand attempting to poll again.\n\nFixes: 613ce6691c0d (\"examples/l3fwd-power: implement proper shutdown\")\nCc: stable@dpdk.org\n\nSigned-off-by: Anatoly Burakov <anatoly.burakov@intel.com>\n---\n examples/l3fwd-power/main.c | 5 +++--\n 1 file changed, 3 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c\nindex 293b3da4ae..4112bbbee4 100644\n--- a/examples/l3fwd-power/main.c\n+++ b/examples/l3fwd-power/main.c\n@@ -833,7 +833,7 @@ sleep_until_rx_interrupt(int num)\n \t\t\"lcore %u sleeps until interrupt triggers\\n\",\n \t\trte_lcore_id());\n \n-\tn = rte_epoll_wait(RTE_EPOLL_PER_THREAD, event, num, -1);\n+\tn = rte_epoll_wait(RTE_EPOLL_PER_THREAD, event, num, 10);\n \tfor (i = 0; i < n; i++) {\n \t\tdata = event[i].epdata.data;\n \t\tport_id = ((uintptr_t)data) >> CHAR_BIT;\n@@ -1306,7 +1306,8 @@ main_loop(__rte_unused void *dummy)\n \t\t\t\t\t/**\n \t\t\t\t\t * start receiving packets immediately\n \t\t\t\t\t */\n-\t\t\t\t\tgoto start_rx;\n+\t\t\t\t\tif (likely(!is_done()))\n+\t\t\t\t\t\tgoto start_rx;\n \t\t\t\t}\n \t\t\t}\n \t\t\tstats[lcore_id].sleep_time += lcore_idle_hint;\n",
    "prefixes": []
}