get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 20166,
    "url": "http://patches.dpdk.org/api/patches/20166/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1486201024-32656-1-git-send-email-jianbo.liu@linaro.org/",
    "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": "<1486201024-32656-1-git-send-email-jianbo.liu@linaro.org>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1486201024-32656-1-git-send-email-jianbo.liu@linaro.org",
    "date": "2017-02-04T09:37:03",
    "name": "[dpdk-dev,v2,1/2] net/ixgbe: calculate the correct number of received packets in bulk alloc function",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "2e5ec262a07a4979d1a7d03c68b0aebd25047712",
    "submitter": {
        "id": 380,
        "url": "http://patches.dpdk.org/api/people/380/?format=api",
        "name": "Jianbo Liu",
        "email": "jianbo.liu@linaro.org"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1486201024-32656-1-git-send-email-jianbo.liu@linaro.org/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/20166/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/20166/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 [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 41D3AF6BE;\n\tSat,  4 Feb 2017 10:37:34 +0100 (CET)",
            "from foss.arm.com (foss.arm.com [217.140.101.70])\n\tby dpdk.org (Postfix) with ESMTP id AC63AD59A\n\tfor <dev@dpdk.org>; Sat,  4 Feb 2017 10:37:31 +0100 (CET)",
            "from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249])\n\tby usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 76BA5707;\n\tSat,  4 Feb 2017 01:37:28 -0800 (PST)",
            "from localhost.localdomain.com (usa-sjc-imap-foss1.foss.arm.com\n\t[10.72.51.249])\n\tby usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id\n\tA261A3F477; Sat,  4 Feb 2017 01:37:27 -0800 (PST)"
        ],
        "From": "Jianbo Liu <jianbo.liu@linaro.org>",
        "To": "dev@dpdk.org, helin.zhang@intel.com, konstantin.ananyev@intel.com,\n\tjerin.jacob@caviumnetworks.com",
        "Cc": "Jianbo Liu <jianbo.liu@linaro.org>",
        "Date": "Sat,  4 Feb 2017 17:37:03 +0800",
        "Message-Id": "<1486201024-32656-1-git-send-email-jianbo.liu@linaro.org>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1482127758-4904-1-git-send-email-jianbo.liu@linaro.org>",
        "References": "<1482127758-4904-1-git-send-email-jianbo.liu@linaro.org>",
        "Subject": "[dpdk-dev] [PATCH v2 1/2] net/ixgbe: calculate the correct number\n\tof received packets in bulk alloc function",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "To get better performance, Rx bulk alloc recv function will scan 8 descs\nin one time, but the statuses are not consistent on ARM platform because\nthe memory allocated for Rx descriptors is cacheable hugepages.\nThis patch is to calculate the number of received packets by scan DD bit\nsequentially, and stops when meeting the first packet with DD bit unset.\n\nSigned-off-by: Jianbo Liu <jianbo.liu@linaro.org>\n---\n drivers/net/ixgbe/ixgbe_rxtx.c | 16 +++++++++-------\n 1 file changed, 9 insertions(+), 7 deletions(-)",
    "diff": "diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c\nindex 36f1c02..613890e 100644\n--- a/drivers/net/ixgbe/ixgbe_rxtx.c\n+++ b/drivers/net/ixgbe/ixgbe_rxtx.c\n@@ -1460,17 +1460,19 @@ static inline int __attribute__((always_inline))\n \tfor (i = 0; i < RTE_PMD_IXGBE_RX_MAX_BURST;\n \t     i += LOOK_AHEAD, rxdp += LOOK_AHEAD, rxep += LOOK_AHEAD) {\n \t\t/* Read desc statuses backwards to avoid race condition */\n-\t\tfor (j = LOOK_AHEAD-1; j >= 0; --j)\n+\t\tfor (j = 0; j < LOOK_AHEAD; j++)\n \t\t\ts[j] = rte_le_to_cpu_32(rxdp[j].wb.upper.status_error);\n \n-\t\tfor (j = LOOK_AHEAD - 1; j >= 0; --j)\n-\t\t\tpkt_info[j] = rte_le_to_cpu_32(rxdp[j].wb.lower.\n-\t\t\t\t\t\t       lo_dword.data);\n+\t\trte_smp_rmb();\n \n \t\t/* Compute how many status bits were set */\n-\t\tnb_dd = 0;\n-\t\tfor (j = 0; j < LOOK_AHEAD; ++j)\n-\t\t\tnb_dd += s[j] & IXGBE_RXDADV_STAT_DD;\n+\t\tfor (nb_dd = 0; nb_dd < LOOK_AHEAD &&\n+\t\t\t\t(s[nb_dd] & IXGBE_RXDADV_STAT_DD); nb_dd++)\n+\t\t\t;\n+\n+\t\tfor (j = 0; j < nb_dd; j++)\n+\t\t\tpkt_info[j] = rte_le_to_cpu_32(rxdp[j].wb.lower.\n+\t\t\t\t\t\t       lo_dword.data);\n \n \t\tnb_rx += nb_dd;\n \n",
    "prefixes": [
        "dpdk-dev",
        "v2",
        "1/2"
    ]
}