From 34f92e82dda40c3e86771cdde692a3395d985c13 Mon Sep 17 00:00:00 2001 From: Andrew Rybchenko Date: Fri, 17 Sep 2021 14:15:14 +0300 Subject: [PATCH] net/sfc: relax SW packets/bytes atomic ops memory ordering No barriers are required when stats are incremented or read. Fixes: 96fd2bd69b58 ("net/sfc: support flow action count in transfer rules") Cc: stable@dpdk.org Signed-off-by: Andrew Rybchenko --- 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.20.1