Thread (40 messages) 40 messages, 6 authors, 2020-05-16

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help