From c5b26a3e57e3ece89c4a2e27b40e41a5b884289f Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Mon, 21 Aug 2023 11:20:37 -0400 Subject: [PATCH] Fix: Add missing cmm_smp_mb() in deprecated urcu-signal commit 97d13221f8a1 ("Phase 1 of deprecating liburcu-signal") miss a cmm_smp_mb() at the beginning of the read-side critical sections, which causes spurious failures in the CI tests. Signed-off-by: Mathieu Desnoyers Change-Id: Id8d5822142bef5f418e2c4653369d93968dca637 --- include/urcu/static/urcu-signal.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/urcu/static/urcu-signal.h b/include/urcu/static/urcu-signal.h index 0f78ac0..07768b3 100644 --- a/include/urcu/static/urcu-signal.h +++ b/include/urcu/static/urcu-signal.h @@ -59,7 +59,7 @@ static inline void _urcu_signal_read_lock_update(unsigned long tmp) { if (caa_likely(!(tmp & URCU_GP_CTR_NEST_MASK))) { _CMM_STORE_SHARED(URCU_TLS(urcu_signal_reader).ctr, _CMM_LOAD_SHARED(urcu_signal_gp.ctr)); - cmm_barrier(); + cmm_smp_mb(); } else _CMM_STORE_SHARED(URCU_TLS(urcu_signal_reader).ctr, tmp + URCU_GP_COUNT); } -- 2.39.5