get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 66164,
    "url": "http://patches.dpdk.org/api/patches/66164/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20200302143209.11854-4-hemant.agrawal@nxp.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": "<20200302143209.11854-4-hemant.agrawal@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200302143209.11854-4-hemant.agrawal@nxp.com",
    "date": "2020-03-02T14:32:02",
    "name": "[03/10] net/enetc: batch process enetc clean Tx ring calls",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "be17a70080d521366b0fe3f102886988e36b42fb",
    "submitter": {
        "id": 477,
        "url": "http://patches.dpdk.org/api/people/477/?format=api",
        "name": "Hemant Agrawal",
        "email": "hemant.agrawal@nxp.com"
    },
    "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/20200302143209.11854-4-hemant.agrawal@nxp.com/mbox/",
    "series": [
        {
            "id": 8741,
            "url": "http://patches.dpdk.org/api/series/8741/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=8741",
            "date": "2020-03-02T14:31:59",
            "name": "net/enetc: optimization and cleanup",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/8741/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/66164/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/66164/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 68091A0568;\n\tMon,  2 Mar 2020 10:00:47 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 7867B1C030;\n\tMon,  2 Mar 2020 10:00:20 +0100 (CET)",
            "from inva020.nxp.com (inva020.nxp.com [92.121.34.13])\n by dpdk.org (Postfix) with ESMTP id BB3191C00D\n for <dev@dpdk.org>; Mon,  2 Mar 2020 10:00:16 +0100 (CET)",
            "from inva020.nxp.com (localhost [127.0.0.1])\n by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 79B3C1A0FC5;\n Mon,  2 Mar 2020 10:00:16 +0100 (CET)",
            "from invc005.ap-rdc01.nxp.com (invc005.ap-rdc01.nxp.com\n [165.114.16.14])\n by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id EF5DC1A0FE2;\n Mon,  2 Mar 2020 10:00:13 +0100 (CET)",
            "from bf-netperf1.ap.com (bf-netperf1.ap.freescale.net\n [10.232.133.63])\n by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id 8B08D4029E;\n Mon,  2 Mar 2020 17:00:10 +0800 (SGT)"
        ],
        "From": "Hemant Agrawal <hemant.agrawal@nxp.com>",
        "To": "ferruh.yigit@intel.com",
        "Cc": "dev@dpdk.org, g.singh@nxp.com,\n Alex Marginean <alexandru.marginean@nxp.com>",
        "Date": "Mon,  2 Mar 2020 20:02:02 +0530",
        "Message-Id": "<20200302143209.11854-4-hemant.agrawal@nxp.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20200302143209.11854-1-hemant.agrawal@nxp.com>",
        "References": "<20200302143209.11854-1-hemant.agrawal@nxp.com>",
        "X-Virus-Scanned": "ClamAV using ClamSMTP",
        "Subject": "[dpdk-dev] [PATCH 03/10] net/enetc: batch process enetc clean Tx\n\tring calls",
        "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": "From: Alex Marginean <alexandru.marginean@nxp.com>\n\nEach call to enetc_clean_tx_ring will cost at least 150-200 CPU cycles\neven if no clean-up is done, due to the CI register read.\nWe're only calling it once at the end of the function, on the assumption\nthat software is slower than hardware and hardware completed sending older\nframes out by now.\nWe're also cleaning up the ring before kicking off Tx for the new batch to\nminimize chances of contention on the Tx ring.\n\nSigned-off-by: Alex Marginean <alexandru.marginean@nxp.com>\n---\n drivers/net/enetc/enetc_rxtx.c | 9 ++++++++-\n 1 file changed, 8 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/drivers/net/enetc/enetc_rxtx.c b/drivers/net/enetc/enetc_rxtx.c\nindex 395f5ecf4..958e3a21d 100644\n--- a/drivers/net/enetc/enetc_rxtx.c\n+++ b/drivers/net/enetc/enetc_rxtx.c\n@@ -76,7 +76,6 @@ enetc_xmit_pkts(void *tx_queue,\n \n \tstart = 0;\n \twhile (nb_pkts--) {\n-\t\tenetc_clean_tx_ring(tx_ring);\n \t\ttx_ring->q_swbd[i].buffer_addr = tx_pkts[start];\n \t\ttxbd = ENETC_TXBD(*tx_ring, i);\n \t\ttx_swbd = &tx_ring->q_swbd[i];\n@@ -92,6 +91,14 @@ enetc_xmit_pkts(void *tx_queue,\n \t\t\ti = 0;\n \t}\n \n+\t/* we're only cleaning up the Tx ring here, on the assumption that\n+\t * software is slower than hardware and hardware completed sending\n+\t * older frames out by now.\n+\t * We're also cleaning up the ring before kicking off Tx for the new\n+\t * batch to minimize chances of contention on the Tx ring\n+\t */\n+\tenetc_clean_tx_ring(tx_ring);\n+\n \ttx_ring->next_to_use = i;\n \tenetc_wr_reg(tx_ring->tcir, i);\n \treturn start;\n",
    "prefixes": [
        "03/10"
    ]
}