[dpdk-stable] [PATCH] net/sfc: relax SW packets/bytes atomic ops memory ordering
Andrew Rybchenko
andrew.rybchenko at oktetlabs.ru
Fri Sep 17 13:15:14 CEST 2021
No barriers are required when stats are incremented or read.
Fixes: 96fd2bd69b58 ("net/sfc: support flow action count in transfer rules")
Cc: stable at dpdk.org
Signed-off-by: Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>
---
drivers/net/sfc/sfc_stats.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/sfc/sfc_stats.h b/drivers/net/sfc/sfc_stats.h
index 2d7ab71f14..aae8243c73 100644
--- a/drivers/net/sfc/sfc_stats.h
+++ b/drivers/net/sfc/sfc_stats.h
@@ -53,7 +53,7 @@ sfc_pkts_bytes_add(union sfc_pkts_bytes *st, uint64_t pkts, uint64_t bytes)
* core sees both counter updates together.
*/
__atomic_store_n(&st->pkts_bytes.int128, result.pkts_bytes.int128,
- __ATOMIC_RELEASE);
+ __ATOMIC_RELAXED);
#else
st->pkts += pkts;
st->bytes += bytes;
@@ -68,7 +68,7 @@ sfc_pkts_bytes_get(const union sfc_pkts_bytes *st, union sfc_pkts_bytes *result)
{
#if SFC_SW_STATS_ATOMIC
result->pkts_bytes.int128 = __atomic_load_n(&st->pkts_bytes.int128,
- __ATOMIC_ACQUIRE);
+ __ATOMIC_RELAXED);
#else
*result = *st;
#endif
--
2.30.2
More information about the stable
mailing list