X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=src%2Frcu.h;h=4db3500566abc002042d9f63a6b617d4c24d76de;hb=873bbf16c6bcfe2c11fca7e76dd7284c5afbee99;hp=86b9e2433daab72964186153e3847d6489739bf9;hpb=d37c7e99ac9d4e9f5d637ce0a385e62dbc4efdf4;p=libside.git diff --git a/src/rcu.h b/src/rcu.h index 86b9e24..4db3500 100644 --- a/src/rcu.h +++ b/src/rcu.h @@ -143,11 +143,10 @@ void side_rcu_read_end(struct side_rcu_gp_state *gp_state, struct side_rcu_read_ /* Fallback to atomic increment and SEQ_CST. */ (void) __atomic_add_fetch(&begin_cpu_count->end, 1, __ATOMIC_SEQ_CST); /* - * This barrier (F) is paired with SEQ_CST barrier or - * membarrier() at (G). It orders increment of the begin/end - * counters before load/store to the futex. + * This barrier (F) implied by SEQ_CST is paired with SEQ_CST + * barrier or membarrier() at (G). It orders increment of the + * begin/end counters before load/store to the futex. */ - __atomic_thread_fence(__ATOMIC_SEQ_CST); end: side_rcu_wake_up_gp(gp_state); } @@ -159,7 +158,7 @@ end: (_____side_v); \ }) -#define side_rcu_assign_pointer(p, v) __atomic_store_n(&(p), v, __ATOMIC_RELEASE); \ +#define side_rcu_assign_pointer(p, v) __atomic_store_n(&(p), v, __ATOMIC_RELEASE); void side_rcu_wait_grace_period(struct side_rcu_gp_state *gp_state) __attribute__((visibility("hidden"))); void side_rcu_gp_init(struct side_rcu_gp_state *rcu_gp) __attribute__((visibility("hidden")));