[PATCH] ethdev: document that stats reset APIs are not thread-safe
Ferruh Yigit
ferruh.yigit at amd.com
Thu Apr 25 18:53:08 CEST 2024
Making 'rte_eth_stats_reset()' and 'rte_eth_xstats_reset()' APIs thread
safe has performance impact on datapath.
Instead document APIs as not thread safe and add condition for reliable
stats reset functionality, forwarding should be stopped.
Cc: stable at dpdk.org
Signed-off-by: Ferruh Yigit <ferruh.yigit at amd.com>
---
Cc: Mattias Rönnblom <mattias.ronnblom at ericsson.com>
Cc: Stephen Hemminger <stephen at networkplumber.org>
Cc: Morten Brørup <mb at smartsharesystems.com>
This update triggered by mail list discussion [1].
[1]
https://inbox.dpdk.org/dev/3b2cf48e-2293-4226-b6cd-5f4dd3969f99@lysator.liu.se/
---
lib/ethdev/rte_ethdev.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
index 548fada1c7ad..40f04c0e191b 100644
--- a/lib/ethdev/rte_ethdev.h
+++ b/lib/ethdev/rte_ethdev.h
@@ -3136,6 +3136,9 @@ int rte_eth_stats_get(uint16_t port_id, struct rte_eth_stats *stats);
/**
* Reset the general I/O statistics of an Ethernet device.
*
+ * API is not multi-thread safe.
+ * Application should stop forwarding before calling this API.
+ *
* @param port_id
* The port identifier of the Ethernet device.
* @return
@@ -3296,6 +3299,9 @@ int rte_eth_xstats_get_id_by_name(uint16_t port_id, const char *xstat_name,
/**
* Reset extended statistics of an Ethernet device.
*
+ * API is not multi-thread safe.
+ * Application should stop forwarding before calling this API.
+ *
* @param port_id
* The port identifier of the Ethernet device.
* @return
--
2.34.1
More information about the stable
mailing list