From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7FF09A04BA; Wed, 7 Oct 2020 23:49:14 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 6424A4C9D; Wed, 7 Oct 2020 23:49:12 +0200 (CEST) Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by dpdk.org (Postfix) with ESMTP id B92EDB62 for ; Wed, 7 Oct 2020 23:49:09 +0200 (CEST) Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id 56E325C0121; Wed, 7 Oct 2020 17:49:08 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Wed, 07 Oct 2020 17:49:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; s=fm2; bh=9PB7wVijBWaJopLnJsbWoi78oy Ab+QYibIMAVvMzmrU=; b=fnLlxIiRiGRIwixJmN61dXzP5tpzF4PKoDMp5xkWFm T8DhG6ClEyyHRSVQmCKcxUi+g4uhchRTy9tM8iW9HhxHNITedIwMOkB4wkfPwsMx WwHu/kBNzqhFYdoiTnv/bHmd+r0p1dPhAPnBVGZKwCBQgeTDHP4FpRLNIFqINzqJ 1Y/UDFyMKFNC/1F/SX0BxIQM1pfjwhDRK9EC6hN9ebps+Mn8+rKCh2RyW5SA5gGG 4Y3eC/K0h9m2dUuMjGWTVTk1/lIktUlhpNjuM6zPPXG63HTA/Qk7HwG2hx0rFDug uPFKc1pTJFRjtwcGsPMh0D/QgAcWUvWNhImLiJUIqXlg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :message-id:mime-version:subject:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=9PB7wVijBWaJopLnJ sbWoi78oyAb+QYibIMAVvMzmrU=; b=aJ2t2hV8U9n6vWmUNHA6NxUDk8h6s6zhG 9jOx7Sl35GPN4+btQyhs1QgpbxspKiNTyXsH8Ifp1jlt63BYpGjpqotjiU13l3mj OZehzQSBr1PYO8SkQqq6jgRsVG6yav/yRQuc8mENJtu/srCwh7KINMTw0MinhFpR GR8FUAJ4JaFJYS47CtyYwtxP3cHaFZDo/6of/HxYQoU5LYE7ADTN+A0oCBw+Xqvp +ARYG15+T01Z7+T2s99kw0K2tOF1heFc+J7rM4HUfuSrIs+UGjHwrQB06RB6uVx9 wqXr/q+CVCuJw/o5V2cgJbU1i3YWie+tNUtlvdmGaW3wzxnAH9ZPQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrgeejgddtudcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhephffvufffkffoggfgsedtkeertdertd dtnecuhfhrohhmpefvhhhomhgrshcuofhonhhjrghlohhnuceothhhohhmrghssehmohhn jhgrlhhonhdrnhgvtheqnecuggftrfgrthhtvghrnhepueejhfelffefvddvjeelgeelie etiedtveejfedvueeiueehtdeihfehhfevgfetnecuffhomhgrihhnpeguphgukhdrohhr ghenucfkphepjeejrddufeegrddvtdefrddukeegnecuvehluhhsthgvrhfuihiivgeptd enucfrrghrrghmpehmrghilhhfrhhomhepthhhohhmrghssehmohhnjhgrlhhonhdrnhgv th X-ME-Proxy: Received: from xps.monjalon.net (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id 450A93064684; Wed, 7 Oct 2020 17:49:07 -0400 (EDT) From: Thomas Monjalon To: dev@dpdk.org Cc: ferruh.yigit@intel.com, arybchenko@solarflare.com Date: Wed, 7 Oct 2020 23:48:48 +0200 Message-Id: <20201007214848.249516-1-thomas@monjalon.net> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH] ethdev: fix xstat name of basic stats per queue X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" As described in doc/guides/prog_guide/poll_mode_drv.rst, the naming scheme for the xstats is parts separated with underscore: * direction * detail 1 * detail 2 * detail n * unit where detail 1 can be "q" followed with a queue number. It means the name of the stats per queue should be rx_qN_* or tx_qN_*. The second underscore was missing so far. Fixing the basic xstat names may be considered an API change, that's why it should not be backported. While fixing this mistake, some examples of the naming scheme are given as part of the API documentation of rte_eth_xstat_name. More proposals about standardizing statistics: http://fast.dpdk.org/events/slides/DPDK-2019-09-Ethernet_Statistics.pdf Fixes: bd6aa172cf35 ("ethdev: fetch extended statistics with integer ids") Signed-off-by: Thomas Monjalon --- doc/guides/rel_notes/release_20_11.rst | 8 +++++++- lib/librte_ethdev/rte_ethdev.c | 4 ++-- lib/librte_ethdev/rte_ethdev.h | 7 +++++++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst index cdf20404c9..d0d77c5d3d 100644 --- a/doc/guides/rel_notes/release_20_11.rst +++ b/doc/guides/rel_notes/release_20_11.rst @@ -200,7 +200,13 @@ API Changes * ethdev: ``rte_eth_rx_descriptor_done()`` API has been deprecated. -* Renamed internal ethdev APIs: +* ethdev: Renamed basic statistics per queue. An underscore is inserted + between the queue number and the rest of the xstat name: + + * ``rx_qN*`` -> ``rx_qN_*`` + * ``tx_qN*`` -> ``tx_qN_*`` + +* ethdev: Renamed internal APIs: * ``_rte_eth_dev_callback_process()`` -> ``rte_eth_dev_callback_process()`` * ``_rte_eth_dev_reset`` -> ``rte_eth_dev_internal_reset()`` diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c index 48d1333b17..286c1b5966 100644 --- a/lib/librte_ethdev/rte_ethdev.c +++ b/lib/librte_ethdev/rte_ethdev.c @@ -2549,7 +2549,7 @@ rte_eth_basic_stats_get_names(struct rte_eth_dev *dev, for (idx = 0; idx < RTE_NB_RXQ_STATS; idx++) { snprintf(xstats_names[cnt_used_entries].name, sizeof(xstats_names[0].name), - "rx_q%u%s", + "rx_q%u_%s", id_queue, rte_rxq_stats_strings[idx].name); cnt_used_entries++; } @@ -2560,7 +2560,7 @@ rte_eth_basic_stats_get_names(struct rte_eth_dev *dev, for (idx = 0; idx < RTE_NB_TXQ_STATS; idx++) { snprintf(xstats_names[cnt_used_entries].name, sizeof(xstats_names[0].name), - "tx_q%u%s", + "tx_q%u_%s", id_queue, rte_txq_stats_strings[idx].name); cnt_used_entries++; } diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h index d2bf74f128..86434c9cae 100644 --- a/lib/librte_ethdev/rte_ethdev.h +++ b/lib/librte_ethdev/rte_ethdev.h @@ -1507,6 +1507,13 @@ struct rte_eth_xstat { * An array of this structure is returned by rte_eth_xstats_get_names(). * It lists the names of extended statistics for a PMD. The *rte_eth_xstat* * structure references these names by their array index. + * + * The xstats should follow a common naming scheme. + * Some names are standardized in rte_stats_strings. + * Examples: + * - rx_missed_errors + * - tx_q3_bytes + * - tx_size_128_to_255_packets */ struct rte_eth_xstat_name { char name[RTE_ETH_XSTATS_NAME_SIZE]; /**< The statistic name. */ -- 2.28.0