numam-dpdk/drivers/net/mlx5
Suanming Mou 3aa279157f net/mlx5: synchronize flow counter pool creation
Currently, counter operations are not thread safe as the counter
pools' array resize is not protected.

This commit protects the container pools' array resize using a spinlock.
The original counter pool statistic memory allocate is moved to the
host thread in order to minimize the critical section. Since that pool
statistic memory is required only in query time. The container pools'
array should be resized by the user threads, the new pool may be used
by other rte_flow APIs before the host thread resize is done, if the
pool is not saved to the pools' array, the specified counter memory will
not be found as the pool is not saved to the counter management pool
array. The pool raw statistic memory will be filled in host thread.

The shared counters will be protected in other commit.

Signed-off-by: Suanming Mou <suanmingm@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
2020-11-03 23:24:25 +01:00
..
linux net/mlx5: synchronize flow counter pool creation 2020-11-03 23:24:25 +01:00
meson.build net/mlx5: separate Rx queue object creations 2020-09-18 18:55:08 +02:00
mlx5_defs.h net/mlx5: manage header reformat actions with hashed list 2020-09-30 19:19:09 +02:00
mlx5_devx.c net/mlx5: remove Rx queue object type field 2020-10-09 13:17:42 +02:00
mlx5_devx.h net/mlx5: share Tx control code 2020-10-09 13:17:42 +02:00
mlx5_ethdev.c ethdev: include mbuf registration in Tx timestamp API 2020-11-03 16:21:15 +01:00
mlx5_flow_dv.c net/mlx5: synchronize flow counter pool creation 2020-11-03 23:24:25 +01:00
mlx5_flow_meter.c net/mlx5: call meter detach only if DR is supported 2020-09-18 18:55:06 +02:00
mlx5_flow_verbs.c net/mlx5: synchronize flow counter pool creation 2020-11-03 23:24:25 +01:00
mlx5_flow.c net/mlx5: synchronize flow counter pool creation 2020-11-03 23:24:25 +01:00
mlx5_flow.h net/mlx5: remove single counter container 2020-11-03 23:24:25 +01:00
mlx5_mac.c net/mlx5: remove unused includes 2020-09-18 18:55:06 +02:00
mlx5_mr.c common/mlx5: remove inclusion of Verbs header files 2020-07-21 15:46:30 +02:00
mlx5_mr.h common/mlx5: remove inclusion of Verbs header files 2020-07-21 15:46:30 +02:00
mlx5_rss.c net/mlx5: fix RSS RETA reset on start 2020-09-18 18:55:11 +02:00
mlx5_rxmode.c common/mlx5: remove inclusion of Verbs header files 2020-07-21 15:46:30 +02:00
mlx5_rxq.c net/mlx5: fix Rx queue release 2020-11-03 22:29:24 +01:00
mlx5_rxtx_vec_altivec.h net/mlx5: switch Rx timestamp to dynamic mbuf field 2020-11-03 16:21:15 +01:00
mlx5_rxtx_vec_neon.h net/mlx5: switch Rx timestamp to dynamic mbuf field 2020-11-03 16:21:15 +01:00
mlx5_rxtx_vec_sse.h net/mlx5: switch Rx timestamp to dynamic mbuf field 2020-11-03 16:21:15 +01:00
mlx5_rxtx_vec.c net/mlx5: check max SIMD bitwidth 2020-10-19 16:45:02 +02:00
mlx5_rxtx_vec.h eal: remove deprecated coherent IO memory barriers 2020-09-23 13:40:26 +02:00
mlx5_rxtx.c net/mlx5: switch Rx timestamp to dynamic mbuf field 2020-11-03 16:21:15 +01:00
mlx5_rxtx.h net/mlx5: fix Tx queue release 2020-11-03 22:29:24 +01:00
mlx5_stats.c net/mlx5: provide send scheduling error statistics 2020-07-21 15:44:36 +02:00
mlx5_trigger.c net/mlx5: fix dynamic mbuf offset lookup check 2020-11-03 16:21:15 +01:00
mlx5_txpp.c net/mlx5: reposition event queue number field 2020-10-09 13:17:42 +02:00
mlx5_txq.c net/mlx5: fix Tx queue release 2020-11-03 22:29:24 +01:00
mlx5_utils.c net/mlx5: add hash list extended lookup and insert 2020-09-18 18:55:06 +02:00
mlx5_utils.h net/mlx5: remove unused log macros 2020-09-18 18:55:06 +02:00
mlx5_vlan.c net/mlx5: remove Rx queue object type field 2020-10-09 13:17:42 +02:00
mlx5.c net/mlx5: synchronize flow counter pool creation 2020-11-03 23:24:25 +01:00
mlx5.h net/mlx5: synchronize flow counter pool creation 2020-11-03 23:24:25 +01:00
rte_pmd_mlx5.h net/mlx5: support fine grain dynamic flag 2020-02-05 09:51:20 +01:00
version.map build: remove library name from version map file name 2020-10-19 22:13:59 +02:00