Hi Joel, Sorry for the late response but I've noticed some glitches. On Sun, 22 Mar 2020 21:57:32 -0400, Joel Fernandes (Google) wrote: > Move MP+onceassign+derefonce to the new Documentation/litmus-tests/rcu/ > directory. MP+onceassign+derefonce.litmus is called out in tools/memory-model/Documentation/recipes.txt as a representative example of RCU related litmus test. So I think it should be kept under tools/memory-model/litmus-tests. Further RCU-related litmus tests can be added under Documentation/litmus-tests/. IIUC, this change is not picked up by tip tree yet. So we have time to respin the series targeting v5.9. > > More RCU-related litmus tests would be added here. > > Signed-off-by: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx> > > --- > Cc: vpillai@xxxxxxxxxxxxxxxx > > Documentation/litmus-tests/README | 9 +++++++++ Please note that later patches to add atomic litmus tests under Documentation/litmus-tests/ by Boqun put README as Documentation/litums-tests/atomic/README. This patch's location of RCU's README as Documentation/litmus-tests/README looks asymmetric to me. I'm OK with either merging atomic's README with the top-level one or moving RCU's README to under Documentation/litmus-tests/rcu. Joel, Boqum, can you sort out the location of README? Thanks, Akira > .../litmus-tests/rcu}/MP+onceassign+derefonce.litmus | 0 > tools/memory-model/litmus-tests/README | 3 --- > 3 files changed, 9 insertions(+), 3 deletions(-) > create mode 100644 Documentation/litmus-tests/README > rename {tools/memory-model/litmus-tests => Documentation/litmus-tests/rcu}/MP+onceassign+derefonce.litmus (100%) > > diff --git a/Documentation/litmus-tests/README b/Documentation/litmus-tests/README > new file mode 100644 > index 0000000000000..84208bc197f2e > --- /dev/null > +++ b/Documentation/litmus-tests/README > @@ -0,0 +1,9 @@ > +============ > +LITMUS TESTS > +============ > + > +RCU (/rcu directory) > +-------------------- > +MP+onceassign+derefonce.litmus > + Demonstrates that rcu_assign_pointer() and rcu_dereference() to > + ensure that an RCU reader will not see pre-initialization garbage. > diff --git a/tools/memory-model/litmus-tests/MP+onceassign+derefonce.litmus b/Documentation/litmus-tests/rcu/MP+onceassign+derefonce.litmus > similarity index 100% > rename from tools/memory-model/litmus-tests/MP+onceassign+derefonce.litmus > rename to Documentation/litmus-tests/rcu/MP+onceassign+derefonce.litmus > diff --git a/tools/memory-model/litmus-tests/README b/tools/memory-model/litmus-tests/README > index 681f9067fa9ed..79e1b1ed4929a 100644 > --- a/tools/memory-model/litmus-tests/README > +++ b/tools/memory-model/litmus-tests/README > @@ -63,9 +63,6 @@ LB+poonceonces.litmus > As above, but with store-release replaced with WRITE_ONCE() > and load-acquire replaced with READ_ONCE(). > > -MP+onceassign+derefonce.litmus > - As below, but with rcu_assign_pointer() and an rcu_dereference(). > - > MP+polockmbonce+poacquiresilsil.litmus > Protect the access with a lock and an smp_mb__after_spinlock() > in one process, and use an acquire load followed by a pair of >