Hi list, Variable rcu_gp_ctr is accessed concurrently by the updater and readers, and hence should be protected by READ_ONCE() and WRITE_ONCE(). This patch set updates rcu and rcu_qs. The tex file is updated accordingly. And a new scheme, which is suggested by Akira and can extract code snippets from the source code, has been applied. Please note that rcu_nest also needs to be updated. I will first make sure that I'm fully understand how it works, and then submit a patch for it. -- Junchang Wang (2): rcu: Use READ_ONCE() and WRITE_ONCE() for shared variable rcu_gp_ctr rcu_qs: Use READ_ONCE() AND WRITE_ONCE() for shared variable rcu_gp_ctr CodeSamples/defer/rcu.c | 30 ++++--- CodeSamples/defer/rcu.h | 21 +++-- CodeSamples/defer/rcu_qs.c | 29 ++++--- CodeSamples/defer/rcu_qs.h | 42 ++++----- appendix/toyrcu/toyrcu.tex | 207 +++++++++++++++++---------------------------- 5 files changed, 146 insertions(+), 183 deletions(-) -- 2.7.4