get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 44979,
    "url": "http://patches.dpdk.org/api/patches/44979/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20180919195549.5585-6-dg@adax.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": "<20180919195549.5585-6-dg@adax.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20180919195549.5585-6-dg@adax.com",
    "date": "2018-09-19T19:55:49",
    "name": "[v2,5/5] examples/kni: improve zeroing statistics",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "f596d91eadc0abfe1a32e599b20a2eacbf8f8ea1",
    "submitter": {
        "id": 1040,
        "url": "http://patches.dpdk.org/api/people/1040/?format=api",
        "name": "Dan Gora",
        "email": "dg@adax.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/20180919195549.5585-6-dg@adax.com/mbox/",
    "series": [
        {
            "id": 1401,
            "url": "http://patches.dpdk.org/api/series/1401/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=1401",
            "date": "2018-09-19T19:55:44",
            "name": "kni: add API to set link status on kernel interface",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/1401/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/44979/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/44979/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id F18151B144;\n\tWed, 19 Sep 2018 21:56:33 +0200 (CEST)",
            "from mail-qt0-f196.google.com (mail-qt0-f196.google.com\n\t[209.85.216.196]) by dpdk.org (Postfix) with ESMTP id 997DB1B139\n\tfor <dev@dpdk.org>; Wed, 19 Sep 2018 21:56:31 +0200 (CEST)",
            "by mail-qt0-f196.google.com with SMTP id t39-v6so6303989qtc.8\n\tfor <dev@dpdk.org>; Wed, 19 Sep 2018 12:56:31 -0700 (PDT)",
            "from snappy.local.lan ([187.10.145.241])\n\tby smtp.gmail.com with ESMTPSA id\n\tg184-v6sm12431369qkb.15.2018.09.19.12.56.28\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);\n\tWed, 19 Sep 2018 12:56:29 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=sender:from:to:cc:subject:date:message-id:in-reply-to:references\n\t:mime-version:content-transfer-encoding;\n\tbh=tB/2EJyp2DqxuqeCx3cu4cWQhnJqCkB6QueQXqBozcE=;\n\tb=s8emZmjBni2LSi65F5mKvq5dmtu1pav/SwIgzKL3JFfesHe7Jnpy2UZsH0Dz1Qsz2B\n\tk8ETnpVIxL6oibeKexpXs94cAfyV9nxe7DyXWGT/PgPItfJqowX1/0VkVa2CxnBYYQD0\n\tGYTwELoXX05D2nutDCvG2GofuaJlhPtc9om4xWj44dVFDMXqROCHv03MSInyYhLfU18W\n\tGsImeDn7PlBg4QQJVNfsy7rQ8uOE18t1+jMrv2IZyfGeUOejOfvF8tjJas9ZSAz/NTdD\n\t1P2wfBxHevWR5VMr0cstpawVGWx4SXVvN65QIkFhCkIPXaxraevT7F608qqT5dcFU399\n\tZ2eQ==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:sender:from:to:cc:subject:date:message-id\n\t:in-reply-to:references:mime-version:content-transfer-encoding;\n\tbh=tB/2EJyp2DqxuqeCx3cu4cWQhnJqCkB6QueQXqBozcE=;\n\tb=BaJCTYmV/QQyQi3tW9E0UkNuIJqD+sP+jKl7acYeAEcp8YDcWbI25+RbstIp8Hr4zn\n\tbEO49xfMsT60aVzGlPQQvT6ojy0pUnJpKPgQlp6LwsDFMcs9ktEzmR6soze7pESbOlvh\n\t7PTWUHcPfiWLOZZStk5ywiGCKfikOmikXp3OtXkQDyzk3DgW9BBXtdL5G+knUk2ju3De\n\to1CKENTMFHDLWzEFuaE2JAyNzUUm2xk40oL0txBXOoVeTh/qy0NhiEAkJG+96fSn1AuI\n\tAtALXDa89ilN1+2kNpBSCf06TKoGjuXOq0R6mLGZm/LiBHz4ZoWrdbQAXsclK4aaylqM\n\tjhlg==",
        "X-Gm-Message-State": "APzg51DjDjdcLXxgjSZYlFEB2QmTq+FGtZqs5v0P+il08EVdbfrxygtm\n\tcgvp7T8S7QMNi6sG0tOAmk6KeBMR",
        "X-Google-Smtp-Source": "ANB0VdafN/pn3aKuIRFqE82uRIPlIUIrTcou844tpOhITIUFjrzZX7503HMuczi245SctV0MfwNUBQ==",
        "X-Received": "by 2002:ac8:376c:: with SMTP id\n\tp41-v6mr25652136qtb.225.1537386990679; \n\tWed, 19 Sep 2018 12:56:30 -0700 (PDT)",
        "From": "Dan Gora <dg@adax.com>",
        "To": "dev@dpdk.org",
        "Cc": "Igor Ryzhov <iryzhov@nfware.com>,\n\tStephen Hemminger <stephen@networkplumber.org>, Dan Gora <dg@adax.com>,\n\tFerruh Yigit <ferruh.yigit@intel.com>",
        "Date": "Wed, 19 Sep 2018 16:55:49 -0300",
        "Message-Id": "<20180919195549.5585-6-dg@adax.com>",
        "X-Mailer": "git-send-email 2.19.0",
        "In-Reply-To": "<20180919195549.5585-1-dg@adax.com>",
        "References": "<20180911232906.18352-1-dg@adax.com>\n\t<20180919195549.5585-1-dg@adax.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v2 5/5] examples/kni: improve zeroing statistics",
        "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\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "The worker threads incrementing the rx/tx_packets race with the signal\nhandler from the main thread zeroing the entire statistics structure.\nThis can cause the statistics to fail to be zeroed, even when there\nis no traffic on those interfaces.\n\nImprove zeroing the statistics by only incrementing rx/tx_packets\nin worker threads by a non-zero amount.  This limits the race to the\nperiods in which traffic is actually being received or transmitted.\n\nSigned-off-by: Dan Gora <dg@adax.com>\n---\n examples/kni/main.c | 6 ++++--\n 1 file changed, 4 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/examples/kni/main.c b/examples/kni/main.c\nindex ca45347d8..d00569740 100644\n--- a/examples/kni/main.c\n+++ b/examples/kni/main.c\n@@ -223,7 +223,8 @@ kni_ingress(struct kni_port_params *p)\n \t\t}\n \t\t/* Burst tx to kni */\n \t\tnum = rte_kni_tx_burst(p->kni[i], pkts_burst, nb_rx);\n-\t\tkni_stats[port_id].rx_packets += num;\n+\t\tif (num)\n+\t\t\tkni_stats[port_id].rx_packets += num;\n \n \t\trte_kni_handle_request(p->kni[i]);\n \t\tif (unlikely(num < nb_rx)) {\n@@ -260,7 +261,8 @@ kni_egress(struct kni_port_params *p)\n \t\t}\n \t\t/* Burst tx to eth */\n \t\tnb_tx = rte_eth_tx_burst(port_id, 0, pkts_burst, (uint16_t)num);\n-\t\tkni_stats[port_id].tx_packets += nb_tx;\n+\t\tif (nb_tx)\n+\t\t\tkni_stats[port_id].tx_packets += nb_tx;\n \t\tif (unlikely(nb_tx < num)) {\n \t\t\t/* Free mbufs not tx to NIC */\n \t\t\tkni_burst_free_mbufs(&pkts_burst[nb_tx], num - nb_tx);\n",
    "prefixes": [
        "v2",
        "5/5"
    ]
}