Signed-off-by: Junchang Wang <junchangwang@xxxxxxxxx> Reviewed-by: Akira Yokosawa <akiyks@xxxxxxxxx> --- CodeSamples/defer/rcu_nest.c | 2 +- CodeSamples/defer/rcu_nest.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CodeSamples/defer/rcu_nest.c b/CodeSamples/defer/rcu_nest.c index 64e4087..733b01a 100644 --- a/CodeSamples/defer/rcu_nest.c +++ b/CodeSamples/defer/rcu_nest.c @@ -35,7 +35,7 @@ void synchronize_rcu(void) /* Advance to a new grace-period number, enforce ordering. */ - rcu_gp_ctr += RCU_GP_CTR_BOTTOM_BIT; + WRITE_ONCE(rcu_gp_ctr, rcu_gp_ctr + RCU_GP_CTR_BOTTOM_BIT); smp_mb(); /* diff --git a/CodeSamples/defer/rcu_nest.h b/CodeSamples/defer/rcu_nest.h index bcc4cde..64d9679 100644 --- a/CodeSamples/defer/rcu_nest.h +++ b/CodeSamples/defer/rcu_nest.h @@ -52,7 +52,7 @@ static void rcu_read_lock(void) retry: tmp = *rrgp; if ((tmp & RCU_GP_CTR_NEST_MASK) == 0) - tmp = rcu_gp_ctr; + tmp = READ_ONCE(rcu_gp_ctr); tmp++; *rrgp = tmp; smp_mb(); -- 2.7.4