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
*/
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