[PATCH] doc: correct definition of Stats per queue feature
Stephen Hemminger
stephen at networkplumber.org
Fri Oct 11 03:38:27 CEST 2024
Change the documentation to match current usage of this feature
in the NIC table. Moved this sub heading to be after basic
stats because the queue stats reported now are in the same structure.
Although the "Stats per Queue" feature was originally intended
to be related to stats mapping, the overwhelming majority of drivers
report this feature with a different meaning.
Hopefully in later release the per-queue stats limitations
can be fixed, but this requires and API, ABI, and lots of driver
changes.
Fixes: dad1ec72a377 ("doc: document NIC features")
Cc: ferruh.yigit at intel.com
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
doc/guides/nics/features.rst | 32 ++++++++++++++++++--------------
1 file changed, 18 insertions(+), 14 deletions(-)
diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index cd0115ffb3..18ac82c466 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -727,13 +727,29 @@ Basic stats
Support basic statistics such as: ipackets, opackets, ibytes, obytes,
imissed, ierrors, oerrors, rx_nombuf.
-And per queue stats: q_ipackets, q_opackets, q_ibytes, q_obytes, q_errors.
-
These apply to all drivers.
* **[implements] eth_dev_ops**: ``stats_get``, ``stats_reset``.
* **[related] API**: ``rte_eth_stats_get``, ``rte_eth_stats_reset()``.
+.. _nic_features_stats_per_queue:
+
+Stats per queue
+---------------
+
+Supports per queue stats: q_ipackets, q_opackets, q_ibytes, q_obytes, q_errors.
+Statistics only supplied for first RTE_ETHDEV_QUEUE_STAT_CNTRS (16) queues.
+If driver does not support this feature the per queue stats will be zero.
+
+* **[implements] eth_dev_ops**: ``stats_get``, ``stats_reset``.
+* **[related] API**: ``rte_eth_stats_get``, ``rte_eth_stats_reset()``.
+
+May also support configuring per-queue stat counter mapping.
+Used by some drivers to workaround HW limitations.
+
+* **[implements] eth_dev_ops**: ``queue_stats_mapping_set``.
+* **[related] API**: ``rte_eth_dev_set_rx_queue_stats_mapping()``,
+ ``rte_eth_dev_set_tx_queue_stats_mapping()``.
.. _nic_features_extended_stats:
@@ -749,18 +765,6 @@ Supports Extended Statistics, changes from driver to driver.
``rte_eth_xstats_get_names_by_id()``, ``rte_eth_xstats_get_id_by_name()``.
-.. _nic_features_stats_per_queue:
-
-Stats per queue
----------------
-
-Supports configuring per-queue stat counter mapping.
-
-* **[implements] eth_dev_ops**: ``queue_stats_mapping_set``.
-* **[related] API**: ``rte_eth_dev_set_rx_queue_stats_mapping()``,
- ``rte_eth_dev_set_tx_queue_stats_mapping()``.
-
-
.. _nic_features_congestion_management:
Congestion management
--
2.45.2
More information about the dev
mailing list