From 125f6edbe8f39f48dc26e2f16d36dce8c5305657 Mon Sep 17 00:00:00 2001 From: Harry van Haaren Date: Tue, 8 Mar 2016 14:29:39 +0000 Subject: [PATCH] doc: add statistics read frequency to ixgbe guide 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 Tested-by: Marcin Kerlin Signed-off-by: Harry van Haaren Acked-by: Marcin Kerlin --- doc/guides/nics/ixgbe.rst | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/doc/guides/nics/ixgbe.rst b/doc/guides/nics/ixgbe.rst index 0ee4ebcaf9..a00c3b4a07 100644 --- a/doc/guides/nics/ixgbe.rst +++ b/doc/guides/nics/ixgbe.rst @@ -199,3 +199,28 @@ When using kernel PF + DPDK VF on x550, please make sure using the kernel driver that disables MDD or can disable MDD. (Some kernel driver can use this CLI 'insmod ixgbe.ko MDD=0,0' to disable MDD. Some kernel driver disables it by default.) + + +Statistics +---------- + +The statistics of ixgbe hardware must be polled regularly in order for it to +remain consistent. Running a DPDK application without polling the statistics will +cause registers on hardware to count to the maximum value, and "stick" at +that value. + +In order to avoid statistic registers every reaching the maximum value, +read the statistics from the hardware using ``rte_eth_stats_get()`` or +``rte_eth_xstats_get()``. + +The maximum 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.20.1