get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 94308,
    "url": "https://patches.dpdk.org/api/patches/94308/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20210616175523.930678-4-lance.richardson@broadcom.com/",
    "project": {
        "id": 1,
        "url": "https://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": "<20210616175523.930678-4-lance.richardson@broadcom.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210616175523.930678-4-lance.richardson@broadcom.com",
    "date": "2021-06-16T17:55:22",
    "name": "[3/4] net/bnxt: fix scalar Tx completion handling",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "95d1cbf5a714bb8a0fbeec111444ce63c48e58bc",
    "submitter": {
        "id": 1323,
        "url": "https://patches.dpdk.org/api/people/1323/?format=api",
        "name": "Lance Richardson",
        "email": "lance.richardson@broadcom.com"
    },
    "delegate": {
        "id": 1766,
        "url": "https://patches.dpdk.org/api/users/1766/?format=api",
        "username": "ajitkhaparde",
        "first_name": "Ajit",
        "last_name": "Khaparde",
        "email": "ajit.khaparde@broadcom.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20210616175523.930678-4-lance.richardson@broadcom.com/mbox/",
    "series": [
        {
            "id": 17364,
            "url": "https://patches.dpdk.org/api/series/17364/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=17364",
            "date": "2021-06-16T17:55:19",
            "name": "net/bnxt: various fixes",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/17364/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/94308/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/94308/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 4AF56A0C43;\n\tWed, 16 Jun 2021 20:09:56 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id A1FD7410F6;\n\tWed, 16 Jun 2021 20:09:54 +0200 (CEST)",
            "from mail-pg1-f174.google.com (mail-pg1-f174.google.com\n [209.85.215.174])\n by mails.dpdk.org (Postfix) with ESMTP id DAA83410F3\n for <dev@dpdk.org>; Wed, 16 Jun 2021 20:09:53 +0200 (CEST)",
            "by mail-pg1-f174.google.com with SMTP id g22so2671509pgk.1\n for <dev@dpdk.org>; Wed, 16 Jun 2021 11:09:53 -0700 (PDT)",
            "from lrichardson-VirtualBox.dhcp.broadcom.net ([192.19.231.250])\n by smtp.gmail.com with ESMTPSA id q4sm2951401pfh.18.2021.06.16.11.09.50\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 16 Jun 2021 11:09:52 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com;\n s=google;\n h=from:to:cc:subject:date:message-id:in-reply-to:references\n :mime-version; bh=Iy5+f26wkYIksQw6J/AX2M5Np7BKky//Mcd3PbhUNp8=;\n b=a3v6jQDiAiI+lQgJHzeHguP+Cbizt7AMl9pGA/r9ZTz8z3RJ0deQuiuEo3lt5lEqfH\n QKgi+m+ljXm9IyuztTaZnP4B3wwZF8rjtGeMVdzCOhwN2bPwkWQRkLDJS3yaGmmUF9v8\n lL1y5hU5wxlI1yXedD+8kevhZhwQimASuZ0Pw=",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n :references:mime-version;\n bh=Iy5+f26wkYIksQw6J/AX2M5Np7BKky//Mcd3PbhUNp8=;\n b=nRqwDHU5HaovXtGPDiQiyuBr7BSFYXJxNxAInTJZ/FL/BFYpz3VvFJP0wrmvLA/gdB\n jMtyVxlYCD+v+5xIV+ZhxLmkrjHII7p/VHQKE3nN3Fxe7O74pkSdvkmFBobc9xvTNfp+\n iH6Ncf9Bfb2oVtaaFJbzC9ue48BUCYZmP8javBsipwwqNpXd3iMi7Fp9hTqWijnX0zWR\n AT4wyCtE6jyJ+O7M3xnU861F1EFBP+fF1F0P6aWnCeWpBP+cKA1pcigZ129TlEJrjEla\n jnf1zC+wbeHqmxNN+Q9Hdb+BVeqKNe1rYdAUcDJTT1KJ1M/rjCpn6NkbpN3ajxAwJ/tz\n ueeg==",
        "X-Gm-Message-State": "AOAM530Uan8Ckj+xamm1lj7cHorvBsooCK8yitnz5ihvx9vPeM25zM/e\n Vv6fdG089JKcjmwJUzvEi2wf2EzcjK0SsA==",
        "X-Google-Smtp-Source": "\n ABdhPJyR++/eWZvEhzXByq3BgAwX/wvWL3W8UEM22K9aOUBLwFAIpxx4zyEV7BpLwohfUCAR/KFldw==",
        "X-Received": "by 2002:a63:e958:: with SMTP id q24mr864866pgj.438.1623866992923;\n Wed, 16 Jun 2021 11:09:52 -0700 (PDT)",
        "From": "Lance Richardson <lance.richardson@broadcom.com>",
        "To": "Ajit Khaparde <ajit.khaparde@broadcom.com>,\n Somnath Kotur <somnath.kotur@broadcom.com>",
        "Cc": "dev@dpdk.org,\n\tstable@dpdk.org",
        "Date": "Wed, 16 Jun 2021 13:55:22 -0400",
        "Message-Id": "<20210616175523.930678-4-lance.richardson@broadcom.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20210616175523.930678-1-lance.richardson@broadcom.com>",
        "References": "<20210616175523.930678-1-lance.richardson@broadcom.com>",
        "MIME-Version": "1.0",
        "Content-Type": "multipart/signed; protocol=\"application/pkcs7-signature\";\n micalg=sha-256; boundary=\"0000000000004d720605c4e5fff0\"",
        "X-Content-Filtered-By": "Mailman/MimeDel 2.1.29",
        "Subject": "[dpdk-dev] [PATCH 3/4] net/bnxt: fix scalar Tx completion handling",
        "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": "Preserve the raw (unmasked) transmit completion ring\nconsumer index.\n\nRemove cache prefetches that have no measurable performance\nbenefit.\n\nFixes: c7de4195cc4c (\"net/bnxt: modify ring index logic\")\nCc: stable@dpdk.org\nSigned-off-by: Lance Richardson <lance.richardson@broadcom.com>\nReviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>\n---\n drivers/net/bnxt/bnxt_txr.c | 24 +++++++++++-------------\n 1 file changed, 11 insertions(+), 13 deletions(-)",
    "diff": "diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c\nindex 27459960d..54eaab34a 100644\n--- a/drivers/net/bnxt/bnxt_txr.c\n+++ b/drivers/net/bnxt/bnxt_txr.c\n@@ -444,30 +444,26 @@ static void bnxt_tx_cmp(struct bnxt_tx_queue *txq, int nr_pkts)\n \n static int bnxt_handle_tx_cp(struct bnxt_tx_queue *txq)\n {\n+\tuint32_t nb_tx_pkts = 0, cons, ring_mask, opaque;\n \tstruct bnxt_cp_ring_info *cpr = txq->cp_ring;\n \tuint32_t raw_cons = cpr->cp_raw_cons;\n-\tuint32_t cons;\n-\tuint32_t nb_tx_pkts = 0;\n+\tstruct bnxt_ring *cp_ring_struct;\n \tstruct tx_cmpl *txcmp;\n-\tstruct cmpl_base *cp_desc_ring = cpr->cp_desc_ring;\n-\tstruct bnxt_ring *cp_ring_struct = cpr->cp_ring_struct;\n-\tuint32_t ring_mask = cp_ring_struct->ring_mask;\n-\tuint32_t opaque = 0;\n \n \tif (bnxt_tx_bds_in_hw(txq) < txq->tx_free_thresh)\n \t\treturn 0;\n \n+\tcp_ring_struct = cpr->cp_ring_struct;\n+\tring_mask = cp_ring_struct->ring_mask;\n+\n \tdo {\n \t\tcons = RING_CMPL(ring_mask, raw_cons);\n \t\ttxcmp = (struct tx_cmpl *)&cpr->cp_desc_ring[cons];\n-\t\trte_prefetch_non_temporal(&cp_desc_ring[(cons + 2) &\n-\t\t\t\t\t\t\tring_mask]);\n \n-\t\tif (!CMPL_VALID(txcmp, cpr->valid))\n+\t\tif (!CMP_VALID(txcmp, raw_cons, cp_ring_struct))\n \t\t\tbreak;\n-\t\topaque = rte_cpu_to_le_32(txcmp->opaque);\n-\t\tNEXT_CMPL(cpr, cons, cpr->valid, 1);\n-\t\trte_prefetch0(&cp_desc_ring[cons]);\n+\n+\t\topaque = rte_le_to_cpu_32(txcmp->opaque);\n \n \t\tif (CMP_TYPE(txcmp) == TX_CMPL_TYPE_TX_L2)\n \t\t\tnb_tx_pkts += opaque;\n@@ -475,9 +471,11 @@ static int bnxt_handle_tx_cp(struct bnxt_tx_queue *txq)\n \t\t\tRTE_LOG_DP(ERR, PMD,\n \t\t\t\t\t\"Unhandled CMP type %02x\\n\",\n \t\t\t\t\tCMP_TYPE(txcmp));\n-\t\traw_cons = cons;\n+\t\traw_cons = NEXT_RAW_CMP(raw_cons);\n \t} while (nb_tx_pkts < ring_mask);\n \n+\tcpr->valid = !!(raw_cons & cp_ring_struct->ring_size);\n+\n \tif (nb_tx_pkts) {\n \t\tif (txq->offloads & DEV_TX_OFFLOAD_MBUF_FAST_FREE)\n \t\t\tbnxt_tx_cmp_fast(txq, nb_tx_pkts);\n",
    "prefixes": [
        "3/4"
    ]
}