Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/93900/?format=api
http://patches.dpdk.org/api/patches/93900/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20210604144225.287678-1-andrew.rybchenko@oktetlabs.ru/", "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": "<20210604144225.287678-1-andrew.rybchenko@oktetlabs.ru>", "list_archive_url": "https://inbox.dpdk.org/dev/20210604144225.287678-1-andrew.rybchenko@oktetlabs.ru", "date": "2021-06-04T14:42:14", "name": "[00/11] net/sfc: provide Rx/Tx doorbells stats", "commit_ref": null, "pull_url": null, "state": null, "archived": false, "hash": null, "submitter": { "id": 2013, "url": "http://patches.dpdk.org/api/people/2013/?format=api", "name": "Andrew Rybchenko", "email": "Andrew.Rybchenko@oktetlabs.ru" }, "delegate": null, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20210604144225.287678-1-andrew.rybchenko@oktetlabs.ru/mbox/", "series": [], "comments": "http://patches.dpdk.org/api/patches/93900/comments/", "check": "pending", "checks": "http://patches.dpdk.org/api/patches/93900/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 E28F6A0A0F;\n\tFri, 4 Jun 2021 16:42:41 +0200 (CEST)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 76D374068F;\n\tFri, 4 Jun 2021 16:42:41 +0200 (CEST)", "from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113])\n by mails.dpdk.org (Postfix) with ESMTP id DB57A40147\n for <dev@dpdk.org>; Fri, 4 Jun 2021 16:42:40 +0200 (CEST)", "by shelob.oktetlabs.ru (Postfix, from userid 122)\n id 9AB6D7F68E; Fri, 4 Jun 2021 17:42:40 +0300 (MSK)", "from aros.oktetlabs.ru (aros.oktetlabs.ru [192.168.38.17])\n by shelob.oktetlabs.ru (Postfix) with ESMTP id 945E67F514\n for <dev@dpdk.org>; Fri, 4 Jun 2021 17:42:34 +0300 (MSK)" ], "X-Spam-Checker-Version": "SpamAssassin 3.4.2 (2018-09-13) on shelob.oktetlabs.ru", "X-Spam-Level": "", "X-Spam-Status": "No, score=0.8 required=5.0 tests=ALL_TRUSTED,\n DKIM_ADSP_DISCARD,\n URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2", "DKIM-Filter": "OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru 945E67F514", "Authentication-Results": "shelob.oktetlabs.ru/945E67F514; dkim=none;\n dkim-atps=neutral", "From": "Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>", "To": "dev@dpdk.org", "Date": "Fri, 4 Jun 2021 17:42:14 +0300", "Message-Id": "<20210604144225.287678-1-andrew.rybchenko@oktetlabs.ru>", "X-Mailer": "git-send-email 2.30.2", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[dpdk-dev] [PATCH 00/11] net/sfc: provide Rx/Tx doorbells stats", "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": "Rx/Tx doorbells stats are essential for performance investigation.\n\nOn the way fix ethdev documenation to refine requirements on\ndriver callback. It allows to make these callbacks a bit simpler.\n\nAdd testpmd option to show specified xstats periodically or upon\nrequest, for example:\n\n * --display-xstats rx_good_packets,tx_good_packets --stats-period 1\n\n Port statistics ====================================\n ######################## NIC statistics for port 0 ########################\n RX-packets: 14102808 RX-missed: 0 RX-bytes: 7164239264\n RX-errors: 0\n RX-nombuf: 0\n TX-packets: 14102789 TX-errors: 0 TX-bytes: 7164226028\n\n Throughput (since last show)\n Rx-pps: 2349577 Rx-bps: 9548682392\n Tx-pps: 2349576 Tx-bps: 9548682408\n\n Value Rate (since last show)\n rx_good_packets 14103280 2349575\n tx_good_packets 14103626 2349573\n ############################################################################\n\n * -i --display-xstats tx_good_packets,vadapter_rx_overflow\n\ntestpmd> port start 0\n...\nNo xstat 'vadapter_rx_overflow' on port 0 - skip it\n...\ntestpmd> start tx_first\ntestpmd> show port stats all\n Value Rate (since last show)\n tx_good_packets 132545336 1420439\n\nnet/sfc part of the patch series should be applied on top of [1].\n\n[1] https://patches.dpdk.org/project/dpdk/list/?series=17238\n\nIvan Ilchenko (11):\n net/sfc: fix get xstats by ID callback to use MAC stats lock\n net/sfc: fix reading adapter state without locking\n ethdev: fix docs of functions getting xstats by IDs\n ethdev: fix docs of drivers callbacks getting xstats by IDs\n net/sfc: fix xstats by ID callbacks according to ethdev\n net/sfc: fix accessing xstats by an unsorted list of IDs\n net/sfc: fix MAC stats update to work for stopped device\n net/sfc: simplify getting of available xstats case\n net/sfc: prepare to add more xstats\n net/sfc: add xstats for Rx/Tx doorbells\n app/testpmd: add option to display extended statistics\n\n app/test-pmd/cmdline.c | 56 +++\n app/test-pmd/config.c | 66 +++\n app/test-pmd/parameters.c | 18 +\n app/test-pmd/testpmd.c | 122 ++++++\n app/test-pmd/testpmd.h | 21 +\n doc/guides/testpmd_app_ug/run_app.rst | 5 +\n drivers/net/sfc/meson.build | 1 +\n drivers/net/sfc/sfc.c | 16 +\n drivers/net/sfc/sfc.h | 18 +-\n drivers/net/sfc/sfc_dp.h | 10 +\n drivers/net/sfc/sfc_ef10.h | 3 +-\n drivers/net/sfc/sfc_ef100_rx.c | 1 +\n drivers/net/sfc/sfc_ef100_tx.c | 1 +\n drivers/net/sfc/sfc_ef10_essb_rx.c | 3 +-\n drivers/net/sfc/sfc_ef10_rx.c | 3 +-\n drivers/net/sfc/sfc_ef10_tx.c | 1 +\n drivers/net/sfc/sfc_ethdev.c | 185 +++++----\n drivers/net/sfc/sfc_port.c | 127 +++++-\n drivers/net/sfc/sfc_rx.c | 1 +\n drivers/net/sfc/sfc_sw_stats.c | 572 ++++++++++++++++++++++++++\n drivers/net/sfc/sfc_sw_stats.h | 49 +++\n drivers/net/sfc/sfc_tx.c | 4 +-\n lib/ethdev/ethdev_driver.h | 43 +-\n lib/ethdev/rte_ethdev.h | 23 +-\n 24 files changed, 1243 insertions(+), 106 deletions(-)\n create mode 100644 drivers/net/sfc/sfc_sw_stats.c\n create mode 100644 drivers/net/sfc/sfc_sw_stats.h", "diff": null, "prefixes": [ "00/11" ] }{ "id": 93900, "url": "