Re: [PATCH 0/3] tools/memory-model, Documentation/litmus-test: Sort out location of litmus test and README
From: Akira Yokosawa <akiyks@gmail.com>
Date: 2020-05-12 11:50:52
Also in:
lkml
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:quoted
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/.
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) <redacted>
Thank you!
quoted hunk ↗ jump to hunk
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) -------------------- -
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.