Signed-off-by: Junchang Wang <junchangwang@xxxxxxxxx> Reviewed-by: Akira Yokosawa <akiyks@xxxxxxxxx> --- CodeSamples/defer/rcu_qs.c | 2 +- CodeSamples/defer/rcu_qs.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CodeSamples/defer/rcu_qs.c b/CodeSamples/defer/rcu_qs.c index 27e45f7..f3d0cd6 100644 --- a/CodeSamples/defer/rcu_qs.c +++ b/CodeSamples/defer/rcu_qs.c @@ -41,7 +41,7 @@ void synchronize_rcu(void) /* Advance to a new grace-period number, enforce ordering. */ - rcu_gp_ctr += 2; + WRITE_ONCE(rcu_gp_ctr, rcu_gp_ctr + 2); smp_mb(); /* diff --git a/CodeSamples/defer/rcu_qs.h b/CodeSamples/defer/rcu_qs.h index 3bb45a4..d8be43e 100644 --- a/CodeSamples/defer/rcu_qs.h +++ b/CodeSamples/defer/rcu_qs.h @@ -59,14 +59,14 @@ static void rcu_read_unlock(void) static void rcu_quiescent_state(void) { smp_mb(); - __get_thread_var(rcu_reader_qs_gp) = ACCESS_ONCE(rcu_gp_ctr) + 1; + __get_thread_var(rcu_reader_qs_gp) = READ_ONCE(rcu_gp_ctr) + 1; smp_mb(); } static void rcu_thread_offline(void) { smp_mb(); - __get_thread_var(rcu_reader_qs_gp) = ACCESS_ONCE(rcu_gp_ctr); + __get_thread_var(rcu_reader_qs_gp) = READ_ONCE(rcu_gp_ctr); smp_mb(); } -- 2.7.4