Re: [PATCH 2/3] LKMM: Add litmus test for RCU GP guarantee where reader stores

From: Joel Fernandes
Date: Fri Mar 20 2020 - 17:44:37 EST


On Fri, Mar 20, 2020 at 04:56:59PM -0400, Alan Stern wrote:
> On Fri, 20 Mar 2020, Joel Fernandes wrote:
>
> > On Fri, Mar 20, 2020 at 11:03:30AM -0400, Alan Stern wrote:
> > > On Fri, 20 Mar 2020, Joel Fernandes (Google) wrote:
> > >
> > > > This adds an example for the important RCU grace period guarantee, which
> > > > shows an RCU reader can never span a grace period.
> > > >
> > > > Signed-off-by: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx>
> > > > ---
> > > > .../litmus-tests/RCU+sync+read.litmus | 37 +++++++++++++++++++
> > > > 1 file changed, 37 insertions(+)
> > > > create mode 100644 tools/memory-model/litmus-tests/RCU+sync+read.litmus
> > > >
> > > > diff --git a/tools/memory-model/litmus-tests/RCU+sync+read.litmus b/tools/memory-model/litmus-tests/RCU+sync+read.litmus
> > > > new file mode 100644
> > > > index 0000000000000..73557772e2a32
> > > > --- /dev/null
> > > > +++ b/tools/memory-model/litmus-tests/RCU+sync+read.litmus
> > >
> > > Do these new tests really belong here? I thought we were adding a new
> > > directory under Documentation/ for litmus tests that illustrate parts
> > > of the LKMM or memory-barriers.txt.
> > >
> > > By contrast, the tests under tools/memory-model are merely to show
> > > people what litmus tests look like and how they should be written.
> >
> > I could add it to tools/memory-model/Documentation/ under a new
> > 'examples' directory there. We could also create an 'rcu' directory in
> > tools/memory-model/litmus-tests/ and add these there. Thoughts?
>
> What happened was that about a month ago, Boqun Feng added
> Documentation/atomic-tests for litmus tests related to handling of
> atomic_t types (see
> <https://marc.info/?l=linux-kernel&m=158276408609029&w=2>.) Should we
> interpose an extra directory level, making it
> Documentation/litmus-tests/atomic? Or
> Documentation/LKMM-litmus-tests/atomic?
>
> Then the new tests added here could go into
> Documentation/litmus-tests/rcu, or whatever.

That's fine with me. Unless anyone objects, I will add to
Documentation/litmus-tests/rcu and resend.

thanks,

- Joel