Re: [PATCH 0/3] tools/memory-model, Documentation/litmus-test: Sort out location of litmus test and README
From: Joel Fernandes <hidden>
Date: 2020-05-12 02:13:13
Also in:
lkml
Subsystem:
documentation, linux kernel memory consistency model (lkmm), the rest · Maintainers:
Jonathan Corbet, Alan Stern, Andrea Parri, Will Deacon, Peter Zijlstra, Boqun Feng, Nicholas Piggin, David Howells, Jade Alglave, Luc Maranget, "Paul E. McKenney", Linus Torvalds
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:quoted
On Sat, 9 May 2020 12:43:30 +0900, Akira Yokosawa wrote:quoted
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:quoted
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.quoted
More RCU-related litmus tests would be added here. Signed-off-by: Joel Fernandes (Google) <redacted> --- Cc: vpillai@digitalocean.com 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/. 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) <redacted> 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)" <redacted> 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) <redacted> --- 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) -------------------- - 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/) + Demonstrates that rcu_assign_pointer() and rcu_dereference() to + ensure that an RCU reader will not see pre-initialization garbage.
--
2.26.2.645.ge9eca65c58-goog