get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 79046,
    "url": "https://patches.dpdk.org/api/patches/79046/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20200928164245.84997-24-bruce.richardson@intel.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": "<20200928164245.84997-24-bruce.richardson@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200928164245.84997-24-bruce.richardson@intel.com",
    "date": "2020-09-28T16:42:43",
    "name": "[v4,23/25] raw/ioat: add xstats tracking for idxd devices",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "59f6ccb7099d415097fe721a00cc45b4e72fd26c",
    "submitter": {
        "id": 20,
        "url": "https://patches.dpdk.org/api/people/20/?format=api",
        "name": "Bruce Richardson",
        "email": "bruce.richardson@intel.com"
    },
    "delegate": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20200928164245.84997-24-bruce.richardson@intel.com/mbox/",
    "series": [
        {
            "id": 12560,
            "url": "https://patches.dpdk.org/api/series/12560/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=12560",
            "date": "2020-09-28T16:42:20",
            "name": "raw/ioat: enhancements and new hardware support",
            "version": 4,
            "mbox": "https://patches.dpdk.org/series/12560/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/79046/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/79046/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 0D729A04DB;\n\tMon, 28 Sep 2020 18:51:13 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 8A3161DA09;\n\tMon, 28 Sep 2020 18:43:52 +0200 (CEST)",
            "from mga06.intel.com (mga06.intel.com [134.134.136.31])\n by dpdk.org (Postfix) with ESMTP id D297E1D659\n for <dev@dpdk.org>; Mon, 28 Sep 2020 18:43:44 +0200 (CEST)",
            "from fmsmga004.fm.intel.com ([10.253.24.48])\n by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 28 Sep 2020 09:43:44 -0700",
            "from silpixa00399126.ir.intel.com ([10.237.222.4])\n by fmsmga004.fm.intel.com with ESMTP; 28 Sep 2020 09:43:43 -0700"
        ],
        "IronPort-SDR": [
            "\n mj3eNwV+3pJ/kycfKTDcChUSvX8opS8qGjDG6ZdetbmvcsER4Pqql2yOKWb+6Y3vBf6BEl9REY\n gfkGtAK8NdzQ==",
            "\n k5dn7QWrELf3chU8enDh5GHk4R6a87nqxfEOguyjQTV1h7k6LV0d+wbIZQLJwVKCeGntP+A4mN\n f4O0NOHqP7dQ=="
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6000,8403,9758\"; a=\"223619941\"",
            "E=Sophos;i=\"5.77,313,1596524400\"; d=\"scan'208\";a=\"223619941\"",
            "E=Sophos;i=\"5.77,313,1596524400\"; d=\"scan'208\";a=\"338250705\""
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "From": "Bruce Richardson <bruce.richardson@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "patrick.fu@intel.com, Bruce Richardson <bruce.richardson@intel.com>,\n Kevin Laatz <kevin.laatz@intel.com>",
        "Date": "Mon, 28 Sep 2020 17:42:43 +0100",
        "Message-Id": "<20200928164245.84997-24-bruce.richardson@intel.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20200928164245.84997-1-bruce.richardson@intel.com>",
        "References": "<20200721095140.719297-1-bruce.richardson@intel.com>\n <20200928164245.84997-1-bruce.richardson@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v4 23/25] raw/ioat: add xstats tracking for idxd\n\tdevices",
        "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": "Add update of the relevant stats for the data path functions and point the\noverall device struct xstats function pointers to the existing ioat\nfunctions.\n\nAt this point, all necessary hooks for supporting the existing unit tests\nare in place so call them for each device.\n\nSigned-off-by: Bruce Richardson <bruce.richardson@intel.com>\nReviewed-by: Kevin Laatz <kevin.laatz@intel.com>\n---\n drivers/raw/ioat/idxd_pci.c            | 3 +++\n drivers/raw/ioat/idxd_vdev.c           | 3 +++\n drivers/raw/ioat/ioat_rawdev_test.c    | 2 +-\n drivers/raw/ioat/rte_ioat_rawdev_fns.h | 6 ++++++\n 4 files changed, 13 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/drivers/raw/ioat/idxd_pci.c b/drivers/raw/ioat/idxd_pci.c\nindex bf5edcfddd..9113f8c8e9 100644\n--- a/drivers/raw/ioat/idxd_pci.c\n+++ b/drivers/raw/ioat/idxd_pci.c\n@@ -107,6 +107,9 @@ static const struct rte_rawdev_ops idxd_pci_ops = {\n \t\t.dev_start = idxd_pci_dev_start,\n \t\t.dev_stop = idxd_pci_dev_stop,\n \t\t.dev_info_get = idxd_dev_info_get,\n+\t\t.xstats_get = ioat_xstats_get,\n+\t\t.xstats_get_names = ioat_xstats_get_names,\n+\t\t.xstats_reset = ioat_xstats_reset,\n };\n \n /* each portal uses 4 x 4k pages */\ndiff --git a/drivers/raw/ioat/idxd_vdev.c b/drivers/raw/ioat/idxd_vdev.c\nindex c75ac43175..38218cc1e1 100644\n--- a/drivers/raw/ioat/idxd_vdev.c\n+++ b/drivers/raw/ioat/idxd_vdev.c\n@@ -36,6 +36,9 @@ static const struct rte_rawdev_ops idxd_vdev_ops = {\n \t\t.dump = idxd_dev_dump,\n \t\t.dev_configure = idxd_dev_configure,\n \t\t.dev_info_get = idxd_dev_info_get,\n+\t\t.xstats_get = ioat_xstats_get,\n+\t\t.xstats_get_names = ioat_xstats_get_names,\n+\t\t.xstats_reset = ioat_xstats_reset,\n };\n \n static void *\ndiff --git a/drivers/raw/ioat/ioat_rawdev_test.c b/drivers/raw/ioat/ioat_rawdev_test.c\nindex a9132a8f10..0b172f3183 100644\n--- a/drivers/raw/ioat/ioat_rawdev_test.c\n+++ b/drivers/raw/ioat/ioat_rawdev_test.c\n@@ -264,5 +264,5 @@ int\n idxd_rawdev_test(uint16_t dev_id)\n {\n \trte_rawdev_dump(dev_id, stdout);\n-\treturn 0;\n+\treturn ioat_rawdev_test(dev_id);\n }\ndiff --git a/drivers/raw/ioat/rte_ioat_rawdev_fns.h b/drivers/raw/ioat/rte_ioat_rawdev_fns.h\nindex 89bfc8d21a..d0045d8a49 100644\n--- a/drivers/raw/ioat/rte_ioat_rawdev_fns.h\n+++ b/drivers/raw/ioat/rte_ioat_rawdev_fns.h\n@@ -184,6 +184,8 @@ struct rte_idxd_user_hdl {\n  */\n struct rte_idxd_rawdev {\n \tenum rte_ioat_dev_type type;\n+\tstruct rte_ioat_xstats xstats;\n+\n \tvoid *portal; /* address to write the batch descriptor */\n \n \t/* counters to track the batches and the individual op handles */\n@@ -369,9 +371,11 @@ __idxd_write_desc(int dev_id, const struct rte_idxd_hw_desc *desc,\n \tif (++idxd->next_free_hdl == idxd->hdl_ring_sz)\n \t\tidxd->next_free_hdl = 0;\n \n+\tidxd->xstats.enqueued++;\n \treturn 1;\n \n failed:\n+\tidxd->xstats.enqueue_failed++;\n \trte_errno = ENOSPC;\n \treturn 0;\n }\n@@ -429,6 +433,7 @@ __idxd_perform_ops(int dev_id)\n \n \tif (++idxd->next_batch == idxd->batch_ring_sz)\n \t\tidxd->next_batch = 0;\n+\tidxd->xstats.started = idxd->xstats.enqueued;\n }\n \n static __rte_always_inline int\n@@ -466,6 +471,7 @@ __idxd_completed_ops(int dev_id, uint8_t max_ops,\n \n \tidxd->next_ret_hdl = h_idx;\n \n+\tidxd->xstats.completed += n;\n \treturn n;\n }\n \n",
    "prefixes": [
        "v4",
        "23/25"
    ]
}