]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
tools/memory-model: Flag "cumulativity" and "propagation" tests
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 14 May 2018 23:33:49 +0000 (16:33 -0700)
committerIngo Molnar <mingo@kernel.org>
Tue, 15 May 2018 06:11:17 +0000 (08:11 +0200)
This commit flags WRC+pooncerelease+rmbonceonce+Once.litmus
as being forbidden by smp_store_release() A-cumulativity and
IRIW+mbonceonces+OnceOnce.litmus as being forbidden by the LKMM
propagation rule.

Suggested-by: Andrea Parri <andrea.parri@amarulasolutions.com>
Reported-by: Paolo Bonzini <pbonzini@redhat.com>
[ paulmck: Updated wording as suggested by Alan Stern. ]
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Will Deacon <will.deacon@arm.com>
Cc: akiyks@gmail.com
Cc: boqun.feng@gmail.com
Cc: dhowells@redhat.com
Cc: j.alglave@ucl.ac.uk
Cc: linux-arch@vger.kernel.org
Cc: luc.maranget@inria.fr
Cc: npiggin@gmail.com
Cc: parri.andrea@gmail.com
Link: http://lkml.kernel.org/r/1526340837-12222-11-git-send-email-paulmck@linux.vnet.ibm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
tools/memory-model/litmus-tests/IRIW+mbonceonces+OnceOnce.litmus
tools/memory-model/litmus-tests/README
tools/memory-model/litmus-tests/WRC+pooncerelease+rmbonceonce+Once.litmus

index 50d5db9ea983b59cc4caf2c4def91c71da35f7ba..98a3716efa37ecc9ba4fd59e8560519ef33fab0a 100644 (file)
@@ -7,7 +7,7 @@ C IRIW+mbonceonces+OnceOnce
  * between each pairs of reads.  In other words, is smp_mb() sufficient to
  * cause two different reading processes to agree on the order of a pair
  * of writes, where each write is to a different variable by a different
- * process?
+ * process?  This litmus test exercises LKMM's "propagation" rule.
  *)
 
 {}
index 6919909bbd0f5c752d78dfebecdaeb557da125a9..17eb9a8c222dae122fa22b925b7af521190728f4 100644 (file)
@@ -23,7 +23,8 @@ IRIW+mbonceonces+OnceOnce.litmus
        between each pairs of reads.  In other words, is smp_mb()
        sufficient to cause two different reading processes to agree on
        the order of a pair of writes, where each write is to a different
-       variable by a different process?
+       variable by a different process?  This litmus test is forbidden
+       by LKMM's propagation rule.
 
 IRIW+poonceonces+OnceOnce.litmus
        Test of independent reads from independent writes with nothing
@@ -119,8 +120,10 @@ S+wmbonceonce+poacquireonce.litmus
 
 WRC+poonceonces+Once.litmus
 WRC+pooncerelease+rmbonceonce+Once.litmus
-       These two are members of an extension of the MP litmus-test class
-       in which the first write is moved to a separate process.
+       These two are members of an extension of the MP litmus-test
+       class in which the first write is moved to a separate process.
+       The second is forbidden because smp_store_release() is
+       A-cumulative in LKMM.
 
 Z6.0+pooncelock+pooncelock+pombonce.litmus
        Is the ordering provided by a spin_unlock() and a subsequent
index 97fcbffde9a0784d25cdaac59d27ff0a8f82a553..ad3448b941e68a75fd0025552545e9b77bc54ec2 100644 (file)
@@ -5,7 +5,9 @@ C WRC+pooncerelease+rmbonceonce+Once
  *
  * This litmus test is an extension of the message-passing pattern, where
  * the first write is moved to a separate process.  Because it features
- * a release and a read memory barrier, it should be forbidden.
+ * a release and a read memory barrier, it should be forbidden.  More
+ * specifically, this litmus test is forbidden because smp_store_release()
+ * is A-cumulative in LKMM.
  *)
 
 {}