On Mon, 11 May 2020 22:13:09 -0400, Joel Fernandes wrote: > On Mon, May 11, 2020 at 10:33:48AM -0700, Paul E. McKenney wrote: >> On Sun, May 10, 2020 at 04:21:02PM +0900, Akira Yokosawa wrote: >>> On Sat, 9 May 2020 12:43:30 +0900, Akira Yokosawa wrote: >>>> 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? >>> >>> So something like this? >>> >>> Patch 1/3 is an independent typo fix in recipes.txt. >>> Patch 2/3 reverts the MP+onceassign+derefonce relocation. >>> Patch 3/3 merges atomic's README into the top-level one. >>> >>> This is relative to -rcu's lkmm branch. >>> >>> Thoughts? >> >> Looks plausible to me, and thank you for reviewing this. >> >> Joel, thoughts? > > Sorry for the delays (OSPM conference in progress). I'm Ok with moving it > back to tools/memory-model/. > > I think on top of this patch, I'd like to add a reference to the to the > litmus test in tools/memory-model/ from Documentation/rcu/. Sounds reasonable to me. But for most people, it never changes its location. Please find inline comments below. > > Just to mention my rationale for Documentation/litmus-tests/rcu/, I was > basically looking for a central place for RCU related litmus tests in the > kernel sources and the idea of this new directory came up. > > For Akira's series, > Acked-by: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx> Thank you! > > And could we add the following patch on top of Akira's series so we still > maintain a reference to the moved RCU test?> > ---8<----------------------- > > From 52fdb57551cc769d8bd690f4f2b22de36ddece99 Mon Sep 17 00:00:00 2001 > From: "Joel Fernandes (Google)" <joel@xxxxxxxxxxxxxxxxx> > Date: Mon, 11 May 2020 22:06:46 -0400 > Subject: [PATCH] docs: litmus-tests: Clarify about the RCU pre-initialization > test > > Since this test was moved to tools/memory-model/, make sure that it is > at least referenced from Documentation/litmus-tests/'s README. > > Signed-off-by: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx> > --- > Documentation/litmus-tests/README | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/Documentation/litmus-tests/README b/Documentation/litmus-tests/README > index ac0b270b456c1..53f09e74734a4 100644 > --- a/Documentation/litmus-tests/README > +++ b/Documentation/litmus-tests/README > @@ -11,7 +11,6 @@ tools/memory-model/README. > > atomic (/atomic derectory) > -------------------------- > - > Atomic-RMW+mb__after_atomic-is-stronger-than-acquire.litmus > Test that an atomic RMW followed by a smp_mb__after_atomic() is > stronger than a normal acquire: both the read and write parts of > @@ -23,8 +22,11 @@ Atomic-RMW-ops-are-atomic-WRT-atomic_set.litmus > > RCU (/rcu directory) > -------------------- > - I loosely followed the convention of ReST documents in putting these empty lines. But I don't mind if they are removed. > RCU+sync+read.litmus > RCU+sync+free.litmus > Both the above litmus tests demonstrate the RCU grace period guarantee > that an RCU read-side critical section can never span a grace period. > + > +MP+onceassign+derefonce.litmus (moved to tools/memory-model/litmus-tests/) As I said above, for those who don't follow developments in the lkmm branch, MP+onceassign+derefonce.litmus stays in tools/memory-model/litmus-tests/. So, +MP+onceassign+derefonce.litmus (under tools/memory-model/litmus-tests/) looks better to me. Thanks, Akira > + Demonstrates that rcu_assign_pointer() and rcu_dereference() to > + ensure that an RCU reader will not see pre-initialization garbage. >