get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 136835,
    "url": "http://patches.dpdk.org/api/patches/136835/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20240215182636.1395044-1-wathsala.vithanage@arm.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": "<20240215182636.1395044-1-wathsala.vithanage@arm.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20240215182636.1395044-1-wathsala.vithanage@arm.com",
    "date": "2024-02-15T18:26:36",
    "name": "[v3] net/mlx5: enable PCI related counters",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "97e25e5a559dc09641b0c125d406a39d9a21c456",
    "submitter": {
        "id": 2969,
        "url": "http://patches.dpdk.org/api/people/2969/?format=api",
        "name": "Wathsala Wathawana Vithanage",
        "email": "wathsala.vithanage@arm.com"
    },
    "delegate": {
        "id": 3268,
        "url": "http://patches.dpdk.org/api/users/3268/?format=api",
        "username": "rasland",
        "first_name": "Raslan",
        "last_name": "Darawsheh",
        "email": "rasland@nvidia.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20240215182636.1395044-1-wathsala.vithanage@arm.com/mbox/",
    "series": [
        {
            "id": 31120,
            "url": "http://patches.dpdk.org/api/series/31120/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=31120",
            "date": "2024-02-15T18:26:36",
            "name": "[v3] net/mlx5: enable PCI related counters",
            "version": 3,
            "mbox": "http://patches.dpdk.org/series/31120/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/136835/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/136835/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 9B76143B19;\n\tThu, 15 Feb 2024 19:26:45 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 8515E402AD;\n\tThu, 15 Feb 2024 19:26:45 +0100 (CET)",
            "from foss.arm.com (foss.arm.com [217.140.110.172])\n by mails.dpdk.org (Postfix) with ESMTP id D80D140276\n for <dev@dpdk.org>; Thu, 15 Feb 2024 19:26:43 +0100 (CET)",
            "from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])\n by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5D7B01FB;\n Thu, 15 Feb 2024 10:27:24 -0800 (PST)",
            "from ampere-altra-2-1.usa.Arm.com (ampere-altra-2-1.usa.arm.com\n [10.118.91.158])\n by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 4614F3F7A6;\n Thu, 15 Feb 2024 10:26:43 -0800 (PST)"
        ],
        "From": "Wathsala Vithanage <wathsala.vithanage@arm.com>",
        "To": "Thomas Monjalon <thomas@monjalon.net>,\n Dariusz Sosnowski <dsosnowski@nvidia.com>,\n Viacheslav Ovsiienko <viacheslavo@nvidia.com>, Ori Kam <orika@nvidia.com>,\n Suanming Mou <suanmingm@nvidia.com>, Matan Azrad <matan@nvidia.com>",
        "Cc": "dev@dpdk.org, nd@arm.com, Wathsala Vithanage <wathsala.vithanage@arm.com>,\n Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>",
        "Subject": "[PATCH v3] net/mlx5: enable PCI related counters",
        "Date": "Thu, 15 Feb 2024 18:26:36 +0000",
        "Message-Id": "<20240215182636.1395044-1-wathsala.vithanage@arm.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20240214201455.1388720-1-wathsala.vithanage@arm.com>",
        "References": "<20240214201455.1388720-1-wathsala.vithanage@arm.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "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"
    },
    "content": "Versions of Mellanox NICs starting from CX5 have device counters\nrelated to PCI. These counters are helpful in debugging IO\nbottlenecks. For instance, the outbound_pci_stalled_rd and\noutbound_pci_stalled_wr counters can help with identifying NIC\nstalls due to insufficient PCI credits, which otherwise would\nhave required a PCI analyzer or a sophisticated PCI root port\nwith a PMU.\nCurrently none of these are available in the MLX5 PMD even\nthough ethtool is capable of reading some of them.\nSince PMD uses the same ioctl used by ethtool (SIOCETHTOOL) and\nreads via the kernel driver it is possible to add support with\nease.\nThere is one more PCI related counter and a device counter that\naren't implemented in the Linux driver at the moment. These two\nare named outbound_pci_buffer_overflow and dev_out_of_buffer\nrespectively. As per Nvidia's documentation these two counters\ncan tell the number of packets dropped due to pci buffer\noverflow and the number of times the device owned queue had not\nenough buffers allocated.\n\nSigned-off-by: Wathsala Vithanage <wathsala.vithanage@arm.com>\nReviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>\nAcked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>\nAcked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>\n---\n .mailmap                                |  1 +\n drivers/net/mlx5/linux/mlx5_ethdev_os.c | 37 +++++++++++++++++++++++++\n 2 files changed, 38 insertions(+)",
    "diff": "diff --git a/.mailmap b/.mailmap\nindex aa569ff456..f57415f7a1 100644\n--- a/.mailmap\n+++ b/.mailmap\n@@ -1510,6 +1510,7 @@ Walter Heymans <walter.heymans@corigine.com>\n Wang Sheng-Hui <shhuiw@gmail.com>\n Wangyu (Eric) <seven.wangyu@huawei.com>\n Waterman Cao <waterman.cao@intel.com>\n+Wathsala Vithanage <wathsala.vithanage@arm.com>\n Weichun Chen <weichunx.chen@intel.com>\n Wei Dai <wei.dai@intel.com>\n Weifeng Li <liweifeng96@126.com>\ndiff --git a/drivers/net/mlx5/linux/mlx5_ethdev_os.c b/drivers/net/mlx5/linux/mlx5_ethdev_os.c\nindex dd5a0c546d..92c47a3b3d 100644\n--- a/drivers/net/mlx5/linux/mlx5_ethdev_os.c\n+++ b/drivers/net/mlx5/linux/mlx5_ethdev_os.c\n@@ -1574,6 +1574,43 @@ static const struct mlx5_counter_ctrl mlx5_counters_init[] = {\n \t\t.dpdk_name = \"tx_vport_bytes\",\n \t\t.ctr_name = \"vport_tx_bytes\",\n \t},\n+\t/**\n+\t * Device counters: These counters are for the\n+\t * entire PCI device (NIC). These counters are\n+\t * not counting on a per port/queue basis.\n+\t */\n+\t{\n+\t\t.dpdk_name = \"rx_pci_signal_integrity\",\n+\t\t.ctr_name = \"rx_pci_signal_integrity\",\n+\t},\n+\t{\n+\t\t.dpdk_name = \"tx_pci_signal_integrity\",\n+\t\t.ctr_name = \"tx_pci_signal_integrity\",\n+\t},\n+\t{\n+\t\t.dpdk_name = \"outbound_pci_buffer_overflow\",\n+\t\t.ctr_name = \"outbound_pci_buffer_overflow\",\n+\t},\n+\t{\n+\t\t.dpdk_name = \"outbound_pci_stalled_rd\",\n+\t\t.ctr_name = \"outbound_pci_stalled_rd\",\n+\t},\n+\t{\n+\t\t.dpdk_name = \"outbound_pci_stalled_wr\",\n+\t\t.ctr_name = \"outbound_pci_stalled_wr\",\n+\t},\n+\t{\n+\t\t.dpdk_name = \"outbound_pci_stalled_rd_events\",\n+\t\t.ctr_name = \"outbound_pci_stalled_rd_events\",\n+\t},\n+\t{\n+\t\t.dpdk_name = \"outbound_pci_stalled_wr_events\",\n+\t\t.ctr_name = \"outbound_pci_stalled_wr_events\",\n+\t},\n+\t{\n+\t\t.dpdk_name = \"dev_out_of_buffer\",\n+\t\t.ctr_name = \"dev_out_of_buffer\",\n+\t},\n };\n \n static const unsigned int xstats_n = RTE_DIM(mlx5_counters_init);\n",
    "prefixes": [
        "v3"
    ]
}