[dpdk-dev] [PATCH v2] doc/nic: add ixgbe statistics on read frequency

Harry van Haaren harry.van.haaren at intel.com
Mon Feb 29 13:17:06 CET 2016


This patch adds a note to the ixgbe PMD guide, stating
the minimum time that statistics must be polled from
the hardware in order to avoid register values becoming
saturated and "sticking" to the max value.

Reported-by: Jerry Zhang <jerry.zhang at intel.com>
Tested-by: Marcin Kerlin <marcinx.kerlin at intel.com>
Signed-off-by: Harry van Haaren <harry.van.haaren at intel.com>
---

v2: Add reported-by and tested-by

 doc/guides/nics/ixgbe.rst | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/doc/guides/nics/ixgbe.rst b/doc/guides/nics/ixgbe.rst
index 8cae299..c8085a8 100644
--- a/doc/guides/nics/ixgbe.rst
+++ b/doc/guides/nics/ixgbe.rst
@@ -178,3 +178,27 @@ load_balancer
 
 As in the case of l3fwd, set configure port_conf.rxmode.hw_ip_checksum=0 to enable vPMD.
 In addition, for improved performance, use -bsz "(32,32),(64,64),(32,32)" in load_balancer to avoid using the default burst size of 144.
+
+Statistics
+----------
+
+The statistics of ixgbe hardware must be polled regularly in order for it to
+remain consistent. Running a DPDK application without polling the statistcs will
+cause registers on hardware to count to thier maxiumum value, and "stick" at
+that value.
+
+In order to avoid statistic registers every reaching thier maxiumum value,
+read the statistics from the hardware using ``rte_eth_stats_get()`` or
+``rte_eth_xstats_get()``.
+
+The maxiumum time between statistics polls that ensures consistent results can
+be calculated as follows:
+
+.. code-block:: c
+
+  max_read_interval = UINT_MAX / max_packets_per_second
+  max_read_interval = 4294967295 / 14880952
+  max_read_interval = 288.6218096127183 (seconds)
+  max_read_interval = ~4 mins 48 sec.
+
+In order to ensure valid results, it is recommended to poll every 4 minutes.
-- 
2.5.0



More information about the dev mailing list