]> git.droids-corp.org - dpdk.git/commit
net/mlx5: fix Rx/Tx stats concurrency
authorRaja Zidane <rzidane@nvidia.com>
Wed, 20 Apr 2022 15:32:17 +0000 (18:32 +0300)
committerRaslan Darawsheh <rasland@nvidia.com>
Thu, 21 Apr 2022 10:50:26 +0000 (12:50 +0200)
commit773a7de21a984bb7bdb6396a659ccc585a44a806
tree01aff85a4f657985b2a9d14aa0117eaf365dae56
parent26f22fa64e9fd66fbdba560c177ea5c9baacba5c
net/mlx5: fix Rx/Tx stats concurrency

Queue statistics are being continuously updated in Rx/Tx burst
routines while handling traffic. In addition to that, statistics
can be reset (written with zeroes) on statistics reset in other
threads, causing a race condition, which in turn could result in
wrong stats.

The patch provides an approach with reference values, allowing
the actual counters to be writable within Rx/Tx burst threads
only, and updating reference values on stats reset.

Fixes: 87011737b715 ("mlx5: add software counters")
Cc: stable@dpdk.org
Signed-off-by: Raja Zidane <rzidane@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
drivers/net/mlx5/mlx5_rx.h
drivers/net/mlx5/mlx5_stats.c
drivers/net/mlx5/mlx5_tx.h