numam-dpdk/drivers/net/mlx5
Jiawei Wang c5193a0bbe net/mlx5: fix imissed counter overflow
The Hw counters is defined as 32bit unsigned value and read from
the sysfs. Firstly read the base value while application start,
then fetch the new value while do query and minus the base value.
If the new value is less than base value, will result in a
negative value and convert to the big value as unsigned 64bit.

PMD add xstats field to store the last successfully read counter,
use it if failed to read hw counter from sysfs.
PMD also record the last output value to handle the wrap around case,
if overflow happened, increase the wrap count by 1 and save into the
higher 32bit, and update the new value into lower 32bit, finally
return the 64bit counter value.

Fixes: ce9494d76c ("net/mlx5: report imissed statistics")
Cc: stable@dpdk.org

Signed-off-by: Jiawei Wang <jiaweiw@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
2020-04-21 13:57:05 +02:00
..
Makefile build: disable experimental API check internally 2020-04-14 16:22:34 +02:00
meson.build build: disable experimental API check internally 2020-04-14 16:22:34 +02:00
mlx5_defs.h net/mlx5: introduce buffer size parameter for hairpin 2020-04-21 13:57:05 +02:00
mlx5_ethdev.c net/mlx: replace hardcoded value with macro 2020-02-14 12:42:12 +01:00
mlx5_flow_dv.c net/mlx5: separate the flow handle resource 2020-04-21 13:57:05 +02:00
mlx5_flow_meter.c common/mlx5: improve assert control 2020-02-05 09:51:21 +01:00
mlx5_flow_verbs.c net/mlx5: separate the flow handle resource 2020-04-21 13:57:05 +02:00
mlx5_flow.c net/mlx5: check device status before creating flow 2020-04-21 13:57:05 +02:00
mlx5_flow.h net/mlx5: separate the flow handle resource 2020-04-21 13:57:05 +02:00
mlx5_mac.c common/mlx5: improve assert control 2020-02-05 09:51:21 +01:00
mlx5_mp.c common/mlx5: improve assert control 2020-02-05 09:51:21 +01:00
mlx5_mr.c net/mlx5: create relaxed ordering memory regions 2020-04-21 13:57:05 +02:00
mlx5_mr.h remove useless include of EAL memory config header 2019-10-09 10:22:24 +02:00
mlx5_rss.c common/mlx5: improve assert control 2020-02-05 09:51:21 +01:00
mlx5_rxmode.c net/mlx5: reduce Netlink commands dependencies 2020-02-05 09:51:20 +01:00
mlx5_rxq.c net/mlx5: introduce buffer size parameter for hairpin 2020-04-21 13:57:05 +02:00
mlx5_rxtx_vec_altivec.h net/mlx5: prefetch CQEs for a faster decompression 2020-04-21 13:57:05 +02:00
mlx5_rxtx_vec_neon.h net/mlx5: prefetch CQEs for a faster decompression 2020-04-21 13:57:05 +02:00
mlx5_rxtx_vec_sse.h net/mlx5: prefetch CQEs for a faster decompression 2020-04-21 13:57:05 +02:00
mlx5_rxtx_vec.c replace cold attributes 2020-04-16 18:30:58 +02:00
mlx5_rxtx_vec.h common/mlx5: improve assert control 2020-02-05 09:51:21 +01:00
mlx5_rxtx.c net/mlx5: reduce Tx completion index memory loads 2020-03-18 15:29:40 +01:00
mlx5_rxtx.h net/mlx5: add Rx/Tx burst mode info 2020-02-05 09:51:21 +01:00
mlx5_socket.c net/mlx5: replace destructor syntax with common macro 2020-04-16 18:07:29 +02:00
mlx5_stats.c net/mlx5: fix imissed counter overflow 2020-04-21 13:57:05 +02:00
mlx5_trigger.c net/mlx5: separate the flow handle resource 2020-04-21 13:57:05 +02:00
mlx5_txq.c net/mlx5: introduce buffer size parameter for hairpin 2020-04-21 13:57:05 +02:00
mlx5_utils.c common/mlx5: improve assert control 2020-02-05 09:51:21 +01:00
mlx5_utils.h common/mlx5: improve assert control 2020-02-05 09:51:21 +01:00
mlx5_vlan.c common/mlx5: improve assert control 2020-02-05 09:51:21 +01:00
mlx5.c net/mlx5: introduce buffer size parameter for hairpin 2020-04-21 13:57:05 +02:00
mlx5.h net/mlx5: fix imissed counter overflow 2020-04-21 13:57:05 +02:00
rte_pmd_mlx5_version.map net/mlx5: support fine grain dynamic flag 2020-02-05 09:51:20 +01:00
rte_pmd_mlx5.h net/mlx5: support fine grain dynamic flag 2020-02-05 09:51:20 +01:00