>From dec86a9f1a947ae01d8b66b4f5d9b431fb2a55b5 Mon Sep 17 00:00:00 2001 From: Akira Yokosawa <akiyks@xxxxxxxxx> Date: Sun, 10 May 2020 13:43:34 +0900 Subject: [PATCH RESEND 2/4] Revert "Documentation: LKMM: Move MP+onceassign+derefonce to new litmus-tests/rcu/" This reverts commit a5cca3485d9206a9dbbc6f47d2a537e69b53cd82. MP+onceassign+derefonce.litmus is called out from tools/memory-model/Documentation/recipes.txt. It should be in the same directory as the other representative tests to help readers inspect it. Signed-off-by: Akira Yokosawa <akiyks@xxxxxxxxx> Acked-by: Andrea Parri <parri.andrea@xxxxxxxxx> Acked-by: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx> --- Documentation/litmus-tests/README | 3 --- .../memory-model/litmus-tests}/MP+onceassign+derefonce.litmus | 0 tools/memory-model/litmus-tests/README | 3 +++ 3 files changed, 3 insertions(+), 3 deletions(-) rename {Documentation/litmus-tests/rcu => tools/memory-model/litmus-tests}/MP+onceassign+derefonce.litmus (100%) diff --git a/Documentation/litmus-tests/README b/Documentation/litmus-tests/README index 79d187f75679..c4307ea9f996 100644 --- a/Documentation/litmus-tests/README +++ b/Documentation/litmus-tests/README @@ -4,9 +4,6 @@ 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. RCU+sync+read.litmus RCU+sync+free.litmus diff --git a/Documentation/litmus-tests/rcu/MP+onceassign+derefonce.litmus b/tools/memory-model/litmus-tests/MP+onceassign+derefonce.litmus similarity index 100% rename from Documentation/litmus-tests/rcu/MP+onceassign+derefonce.litmus rename to tools/memory-model/litmus-tests/MP+onceassign+derefonce.litmus diff --git a/tools/memory-model/litmus-tests/README b/tools/memory-model/litmus-tests/README index 79e1b1ed4929..681f9067fa9e 100644 --- a/tools/memory-model/litmus-tests/README +++ b/tools/memory-model/litmus-tests/README @@ -63,6 +63,9 @@ 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 -- 2.17.1