Re: [PATCH v2 1/4] Documentation: LKMM: Move MP+onceassign+derefonce to new litmus-tests/rcu/

From: Akira Yokosawa
Date: Fri May 08 2020 - 23:43:39 EST


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
>