X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=urcu-qsbr.c;h=51d34c7b34ea6bf64846b628885f584e4019e2db;hp=2cf73d5d5be30f62771a62152623fb81b5798133;hb=06f22bdbb0c4c4d5db42a2e2dc35818aa61415be;hpb=5481ddb381061bda64aebc039900d21cac6a6caf diff --git a/urcu-qsbr.c b/urcu-qsbr.c index 2cf73d5..51d34c7 100644 --- a/urcu-qsbr.c +++ b/urcu-qsbr.c @@ -114,10 +114,10 @@ static void update_counter_and_wait(void) #if (BITS_PER_LONG < 64) /* Switch parity: 0 -> 1, 1 -> 0 */ - STORE_SHARED(rcu_gp_ctr, rcu_gp_ctr ^ RCU_GP_CTR); + CAA_STORE_SHARED(rcu_gp_ctr, rcu_gp_ctr ^ RCU_GP_CTR); #else /* !(BITS_PER_LONG < 64) */ /* Increment current G.P. */ - STORE_SHARED(rcu_gp_ctr, rcu_gp_ctr + RCU_GP_CTR); + CAA_STORE_SHARED(rcu_gp_ctr, rcu_gp_ctr + RCU_GP_CTR); #endif /* !(BITS_PER_LONG < 64) */ /* @@ -163,7 +163,7 @@ static void update_counter_and_wait(void) wait_gp(); } else { #ifndef HAS_INCOHERENT_CACHES - cpu_relax(); + caa_cpu_relax(); #else /* #ifndef HAS_INCOHERENT_CACHES */ cmm_smp_mb(); #endif /* #else #ifndef HAS_INCOHERENT_CACHES */ @@ -198,7 +198,7 @@ void synchronize_rcu(void) * threads registered as readers. */ if (was_online) - STORE_SHARED(rcu_reader.ctr, 0); + CAA_STORE_SHARED(rcu_reader.ctr, 0); mutex_lock(&rcu_gp_lock); @@ -238,7 +238,7 @@ out: * freed. */ if (was_online) - _STORE_SHARED(rcu_reader.ctr, LOAD_SHARED(rcu_gp_ctr)); + _CAA_STORE_SHARED(rcu_reader.ctr, CAA_LOAD_SHARED(rcu_gp_ctr)); cmm_smp_mb(); } #else /* !(BITS_PER_LONG < 64) */ @@ -255,7 +255,7 @@ void synchronize_rcu(void) */ cmm_smp_mb(); if (was_online) - STORE_SHARED(rcu_reader.ctr, 0); + CAA_STORE_SHARED(rcu_reader.ctr, 0); mutex_lock(&rcu_gp_lock); if (list_empty(®istry)) @@ -265,7 +265,7 @@ out: mutex_unlock(&rcu_gp_lock); if (was_online) - _STORE_SHARED(rcu_reader.ctr, LOAD_SHARED(rcu_gp_ctr)); + _CAA_STORE_SHARED(rcu_reader.ctr, CAA_LOAD_SHARED(rcu_gp_ctr)); cmm_smp_mb(); } #endif /* !(BITS_PER_LONG < 64) */