From: Andrew Rybchenko Date: Fri, 17 Sep 2021 11:15:14 +0000 (+0300) Subject: net/sfc: relax SW packets/bytes atomic ops memory ordering X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=34f92e82dda40c3e86771cdde692a3395d985c13;p=dpdk.git 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 --- 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