Add compiler barriers to read-side for mutex ordering
[urcu.git] / urcu-bp-static.h
index 515be288d6b75011a1428994343d641e2cf9f330..6d7e3c874cff4c60f869a15f368324b3b080efde 100644 (file)
@@ -175,6 +175,7 @@ static inline void _rcu_read_lock(void)
        if (unlikely(!rcu_reader))
                rcu_bp_register();
 
+       barrier();      /* Ensure the compiler does not reorder us with mutex */
        tmp = rcu_reader->ctr;
        /*
         * rcu_gp_ctr is
@@ -199,6 +200,7 @@ static inline void _rcu_read_unlock(void)
         */
        smp_mb();
        _STORE_SHARED(rcu_reader->ctr, rcu_reader->ctr - RCU_GP_COUNT);
+       barrier();      /* Ensure the compiler does not reorder us with mutex */
 }
 
 #ifdef __cplusplus 
This page took 0.022852 seconds and 4 git commands to generate.