From: Mathieu Desnoyers Date: Mon, 21 Aug 2023 15:20:37 +0000 (-0400) Subject: Fix: Add missing cmm_smp_mb() in deprecated urcu-signal X-Git-Url: https://git.liburcu.org/?p=userspace-rcu.git;a=commitdiff_plain;h=c5b26a3e57e3ece89c4a2e27b40e41a5b884289f 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 --- 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); }