Re: [PATCH] tools/memory-model: Rename litmus tests to comply to norm7

2018-05-29 Thread Paul E. McKenney
On Tue, May 29, 2018 at 02:20:13PM +0200, Andrea Parri wrote:
> norm7 produces the 'normalized' name of a litmus test,  when the test
> can be generated from a single cycle that passes through each process
> exactly once. The commit renames such tests in order to comply to the
> naming scheme implemented by this tool.
> 
> Signed-off-by: Andrea Parri 

Queued and pushed, most likely for 4.19, thank you!

Thanx, Paul

> Cc: Alan Stern 
> Cc: Will Deacon 
> Cc: Peter Zijlstra 
> Cc: Boqun Feng 
> Cc: Nicholas Piggin 
> Cc: David Howells 
> Cc: Jade Alglave 
> Cc: Luc Maranget 
> Cc: "Paul E. McKenney" 
> Cc: Akira Yokosawa 
> ---
>  tools/memory-model/Documentation/recipes.txt   |  8 ++--
>  tools/memory-model/README  | 20 +-
>  .../IRIW+fencembonceonces+OnceOnce.litmus  | 45 
> ++
>  .../litmus-tests/IRIW+mbonceonces+OnceOnce.litmus  | 45 
> --
>  .../litmus-tests/LB+ctrlonceonce+mbonceonce.litmus | 34 
>  .../LB+fencembonceonce+ctrlonceonce.litmus | 34 
>  .../MP+fencewmbonceonce+fencermbonceonce.litmus| 30 +++
>  .../litmus-tests/MP+wmbonceonce+rmbonceonce.litmus | 30 ---
>  .../litmus-tests/R+fencembonceonces.litmus | 30 +++
>  .../memory-model/litmus-tests/R+mbonceonces.litmus | 30 ---
>  tools/memory-model/litmus-tests/README | 16 
>  .../S+fencewmbonceonce+poacquireonce.litmus| 27 +
>  .../S+wmbonceonce+poacquireonce.litmus | 27 -
>  .../litmus-tests/SB+fencembonceonces.litmus| 32 +++
>  .../litmus-tests/SB+mbonceonces.litmus | 32 ---
>  .../WRC+pooncerelease+fencermbonceonce+Once.litmus | 38 ++
>  .../WRC+pooncerelease+rmbonceonce+Once.litmus  | 38 --
>  ...release+poacquirerelease+fencembonceonce.litmus | 42 
>  ...ooncerelease+poacquirerelease+mbonceonce.litmus | 42 
>  19 files changed, 300 insertions(+), 300 deletions(-)
>  create mode 100644 
> tools/memory-model/litmus-tests/IRIW+fencembonceonces+OnceOnce.litmus
>  delete mode 100644 
> tools/memory-model/litmus-tests/IRIW+mbonceonces+OnceOnce.litmus
>  delete mode 100644 
> tools/memory-model/litmus-tests/LB+ctrlonceonce+mbonceonce.litmus
>  create mode 100644 
> tools/memory-model/litmus-tests/LB+fencembonceonce+ctrlonceonce.litmus
>  create mode 100644 
> tools/memory-model/litmus-tests/MP+fencewmbonceonce+fencermbonceonce.litmus
>  delete mode 100644 
> tools/memory-model/litmus-tests/MP+wmbonceonce+rmbonceonce.litmus
>  create mode 100644 tools/memory-model/litmus-tests/R+fencembonceonces.litmus
>  delete mode 100644 tools/memory-model/litmus-tests/R+mbonceonces.litmus
>  create mode 100644 
> tools/memory-model/litmus-tests/S+fencewmbonceonce+poacquireonce.litmus
>  delete mode 100644 
> tools/memory-model/litmus-tests/S+wmbonceonce+poacquireonce.litmus
>  create mode 100644 tools/memory-model/litmus-tests/SB+fencembonceonces.litmus
>  delete mode 100644 tools/memory-model/litmus-tests/SB+mbonceonces.litmus
>  create mode 100644 
> tools/memory-model/litmus-tests/WRC+pooncerelease+fencermbonceonce+Once.litmus
>  delete mode 100644 
> tools/memory-model/litmus-tests/WRC+pooncerelease+rmbonceonce+Once.litmus
>  create mode 100644 
> tools/memory-model/litmus-tests/Z6.0+pooncerelease+poacquirerelease+fencembonceonce.litmus
>  delete mode 100644 
> tools/memory-model/litmus-tests/Z6.0+pooncerelease+poacquirerelease+mbonceonce.litmus
> 
> diff --git a/tools/memory-model/Documentation/recipes.txt 
> b/tools/memory-model/Documentation/recipes.txt
> index ee4309a87fc45..a40802fa1099e 100644
> --- a/tools/memory-model/Documentation/recipes.txt
> +++ b/tools/memory-model/Documentation/recipes.txt
> @@ -126,7 +126,7 @@ However, it is not necessarily the case that accesses 
> ordered by
>  locking will be seen as ordered by CPUs not holding that lock.
>  Consider this example:
> 
> - /* See Z6.0+pooncelock+pooncelock+pombonce.litmus. */
> + /* See Z6.0+pooncerelease+poacquirerelease+fencembonceonce.litmus. */
>   void CPU0(void)
>   {
>   spin_lock();
> @@ -292,7 +292,7 @@ and to use smp_load_acquire() instead of smp_rmb().  
> However, the older
>  smp_wmb() and smp_rmb() APIs are still heavily used, so it is important
>  to understand their use cases.  The general approach is shown below:
> 
> - /* See MP+wmbonceonce+rmbonceonce.litmus. */
> + /* See MP+fencewmbonceonce+fencermbonceonce.litmus. */
>   void CPU0(void)
>   {
>   WRITE_ONCE(x, 1);
> @@ -360,7 +360,7 @@ can be seen in the LB+poonceonces.litmus litmus test.
>  One way of avoiding the counter-intuitive outcome is through the use of a
>  control dependency paired with a full memory barrier:
> 
> - /* See 

Re: [PATCH] tools/memory-model: Rename litmus tests to comply to norm7

2018-05-29 Thread Paul E. McKenney
On Tue, May 29, 2018 at 02:20:13PM +0200, Andrea Parri wrote:
> norm7 produces the 'normalized' name of a litmus test,  when the test
> can be generated from a single cycle that passes through each process
> exactly once. The commit renames such tests in order to comply to the
> naming scheme implemented by this tool.
> 
> Signed-off-by: Andrea Parri 

Queued and pushed, most likely for 4.19, thank you!

Thanx, Paul

> Cc: Alan Stern 
> Cc: Will Deacon 
> Cc: Peter Zijlstra 
> Cc: Boqun Feng 
> Cc: Nicholas Piggin 
> Cc: David Howells 
> Cc: Jade Alglave 
> Cc: Luc Maranget 
> Cc: "Paul E. McKenney" 
> Cc: Akira Yokosawa 
> ---
>  tools/memory-model/Documentation/recipes.txt   |  8 ++--
>  tools/memory-model/README  | 20 +-
>  .../IRIW+fencembonceonces+OnceOnce.litmus  | 45 
> ++
>  .../litmus-tests/IRIW+mbonceonces+OnceOnce.litmus  | 45 
> --
>  .../litmus-tests/LB+ctrlonceonce+mbonceonce.litmus | 34 
>  .../LB+fencembonceonce+ctrlonceonce.litmus | 34 
>  .../MP+fencewmbonceonce+fencermbonceonce.litmus| 30 +++
>  .../litmus-tests/MP+wmbonceonce+rmbonceonce.litmus | 30 ---
>  .../litmus-tests/R+fencembonceonces.litmus | 30 +++
>  .../memory-model/litmus-tests/R+mbonceonces.litmus | 30 ---
>  tools/memory-model/litmus-tests/README | 16 
>  .../S+fencewmbonceonce+poacquireonce.litmus| 27 +
>  .../S+wmbonceonce+poacquireonce.litmus | 27 -
>  .../litmus-tests/SB+fencembonceonces.litmus| 32 +++
>  .../litmus-tests/SB+mbonceonces.litmus | 32 ---
>  .../WRC+pooncerelease+fencermbonceonce+Once.litmus | 38 ++
>  .../WRC+pooncerelease+rmbonceonce+Once.litmus  | 38 --
>  ...release+poacquirerelease+fencembonceonce.litmus | 42 
>  ...ooncerelease+poacquirerelease+mbonceonce.litmus | 42 
>  19 files changed, 300 insertions(+), 300 deletions(-)
>  create mode 100644 
> tools/memory-model/litmus-tests/IRIW+fencembonceonces+OnceOnce.litmus
>  delete mode 100644 
> tools/memory-model/litmus-tests/IRIW+mbonceonces+OnceOnce.litmus
>  delete mode 100644 
> tools/memory-model/litmus-tests/LB+ctrlonceonce+mbonceonce.litmus
>  create mode 100644 
> tools/memory-model/litmus-tests/LB+fencembonceonce+ctrlonceonce.litmus
>  create mode 100644 
> tools/memory-model/litmus-tests/MP+fencewmbonceonce+fencermbonceonce.litmus
>  delete mode 100644 
> tools/memory-model/litmus-tests/MP+wmbonceonce+rmbonceonce.litmus
>  create mode 100644 tools/memory-model/litmus-tests/R+fencembonceonces.litmus
>  delete mode 100644 tools/memory-model/litmus-tests/R+mbonceonces.litmus
>  create mode 100644 
> tools/memory-model/litmus-tests/S+fencewmbonceonce+poacquireonce.litmus
>  delete mode 100644 
> tools/memory-model/litmus-tests/S+wmbonceonce+poacquireonce.litmus
>  create mode 100644 tools/memory-model/litmus-tests/SB+fencembonceonces.litmus
>  delete mode 100644 tools/memory-model/litmus-tests/SB+mbonceonces.litmus
>  create mode 100644 
> tools/memory-model/litmus-tests/WRC+pooncerelease+fencermbonceonce+Once.litmus
>  delete mode 100644 
> tools/memory-model/litmus-tests/WRC+pooncerelease+rmbonceonce+Once.litmus
>  create mode 100644 
> tools/memory-model/litmus-tests/Z6.0+pooncerelease+poacquirerelease+fencembonceonce.litmus
>  delete mode 100644 
> tools/memory-model/litmus-tests/Z6.0+pooncerelease+poacquirerelease+mbonceonce.litmus
> 
> diff --git a/tools/memory-model/Documentation/recipes.txt 
> b/tools/memory-model/Documentation/recipes.txt
> index ee4309a87fc45..a40802fa1099e 100644
> --- a/tools/memory-model/Documentation/recipes.txt
> +++ b/tools/memory-model/Documentation/recipes.txt
> @@ -126,7 +126,7 @@ However, it is not necessarily the case that accesses 
> ordered by
>  locking will be seen as ordered by CPUs not holding that lock.
>  Consider this example:
> 
> - /* See Z6.0+pooncelock+pooncelock+pombonce.litmus. */
> + /* See Z6.0+pooncerelease+poacquirerelease+fencembonceonce.litmus. */
>   void CPU0(void)
>   {
>   spin_lock();
> @@ -292,7 +292,7 @@ and to use smp_load_acquire() instead of smp_rmb().  
> However, the older
>  smp_wmb() and smp_rmb() APIs are still heavily used, so it is important
>  to understand their use cases.  The general approach is shown below:
> 
> - /* See MP+wmbonceonce+rmbonceonce.litmus. */
> + /* See MP+fencewmbonceonce+fencermbonceonce.litmus. */
>   void CPU0(void)
>   {
>   WRITE_ONCE(x, 1);
> @@ -360,7 +360,7 @@ can be seen in the LB+poonceonces.litmus litmus test.
>  One way of avoiding the counter-intuitive outcome is through the use of a
>  control dependency paired with a full memory barrier:
> 
> - /* See 

[PATCH] tools/memory-model: Rename litmus tests to comply to norm7

2018-05-29 Thread Andrea Parri
norm7 produces the 'normalized' name of a litmus test,  when the test
can be generated from a single cycle that passes through each process
exactly once. The commit renames such tests in order to comply to the
naming scheme implemented by this tool.

Signed-off-by: Andrea Parri 
Cc: Alan Stern 
Cc: Will Deacon 
Cc: Peter Zijlstra 
Cc: Boqun Feng 
Cc: Nicholas Piggin 
Cc: David Howells 
Cc: Jade Alglave 
Cc: Luc Maranget 
Cc: "Paul E. McKenney" 
Cc: Akira Yokosawa 
---
 tools/memory-model/Documentation/recipes.txt   |  8 ++--
 tools/memory-model/README  | 20 +-
 .../IRIW+fencembonceonces+OnceOnce.litmus  | 45 ++
 .../litmus-tests/IRIW+mbonceonces+OnceOnce.litmus  | 45 --
 .../litmus-tests/LB+ctrlonceonce+mbonceonce.litmus | 34 
 .../LB+fencembonceonce+ctrlonceonce.litmus | 34 
 .../MP+fencewmbonceonce+fencermbonceonce.litmus| 30 +++
 .../litmus-tests/MP+wmbonceonce+rmbonceonce.litmus | 30 ---
 .../litmus-tests/R+fencembonceonces.litmus | 30 +++
 .../memory-model/litmus-tests/R+mbonceonces.litmus | 30 ---
 tools/memory-model/litmus-tests/README | 16 
 .../S+fencewmbonceonce+poacquireonce.litmus| 27 +
 .../S+wmbonceonce+poacquireonce.litmus | 27 -
 .../litmus-tests/SB+fencembonceonces.litmus| 32 +++
 .../litmus-tests/SB+mbonceonces.litmus | 32 ---
 .../WRC+pooncerelease+fencermbonceonce+Once.litmus | 38 ++
 .../WRC+pooncerelease+rmbonceonce+Once.litmus  | 38 --
 ...release+poacquirerelease+fencembonceonce.litmus | 42 
 ...ooncerelease+poacquirerelease+mbonceonce.litmus | 42 
 19 files changed, 300 insertions(+), 300 deletions(-)
 create mode 100644 
tools/memory-model/litmus-tests/IRIW+fencembonceonces+OnceOnce.litmus
 delete mode 100644 
tools/memory-model/litmus-tests/IRIW+mbonceonces+OnceOnce.litmus
 delete mode 100644 
tools/memory-model/litmus-tests/LB+ctrlonceonce+mbonceonce.litmus
 create mode 100644 
tools/memory-model/litmus-tests/LB+fencembonceonce+ctrlonceonce.litmus
 create mode 100644 
tools/memory-model/litmus-tests/MP+fencewmbonceonce+fencermbonceonce.litmus
 delete mode 100644 
tools/memory-model/litmus-tests/MP+wmbonceonce+rmbonceonce.litmus
 create mode 100644 tools/memory-model/litmus-tests/R+fencembonceonces.litmus
 delete mode 100644 tools/memory-model/litmus-tests/R+mbonceonces.litmus
 create mode 100644 
tools/memory-model/litmus-tests/S+fencewmbonceonce+poacquireonce.litmus
 delete mode 100644 
tools/memory-model/litmus-tests/S+wmbonceonce+poacquireonce.litmus
 create mode 100644 tools/memory-model/litmus-tests/SB+fencembonceonces.litmus
 delete mode 100644 tools/memory-model/litmus-tests/SB+mbonceonces.litmus
 create mode 100644 
tools/memory-model/litmus-tests/WRC+pooncerelease+fencermbonceonce+Once.litmus
 delete mode 100644 
tools/memory-model/litmus-tests/WRC+pooncerelease+rmbonceonce+Once.litmus
 create mode 100644 
tools/memory-model/litmus-tests/Z6.0+pooncerelease+poacquirerelease+fencembonceonce.litmus
 delete mode 100644 
tools/memory-model/litmus-tests/Z6.0+pooncerelease+poacquirerelease+mbonceonce.litmus

diff --git a/tools/memory-model/Documentation/recipes.txt 
b/tools/memory-model/Documentation/recipes.txt
index ee4309a87fc45..a40802fa1099e 100644
--- a/tools/memory-model/Documentation/recipes.txt
+++ b/tools/memory-model/Documentation/recipes.txt
@@ -126,7 +126,7 @@ However, it is not necessarily the case that accesses 
ordered by
 locking will be seen as ordered by CPUs not holding that lock.
 Consider this example:
 
-   /* See Z6.0+pooncelock+pooncelock+pombonce.litmus. */
+   /* See Z6.0+pooncerelease+poacquirerelease+fencembonceonce.litmus. */
void CPU0(void)
{
spin_lock();
@@ -292,7 +292,7 @@ and to use smp_load_acquire() instead of smp_rmb().  
However, the older
 smp_wmb() and smp_rmb() APIs are still heavily used, so it is important
 to understand their use cases.  The general approach is shown below:
 
-   /* See MP+wmbonceonce+rmbonceonce.litmus. */
+   /* See MP+fencewmbonceonce+fencermbonceonce.litmus. */
void CPU0(void)
{
WRITE_ONCE(x, 1);
@@ -360,7 +360,7 @@ can be seen in the LB+poonceonces.litmus litmus test.
 One way of avoiding the counter-intuitive outcome is through the use of a
 control dependency paired with a full memory barrier:
 
-   /* See LB+ctrlonceonce+mbonceonce.litmus. */
+   /* See LB+fencembonceonce+ctrlonceonce.litmus. */
void CPU0(void)
{
r0 = READ_ONCE(x);
@@ -476,7 +476,7 @@ that one CPU first stores to one variable and then loads 
from a second,
 while another CPU stores to the second variable and then loads from the
 first.  Preserving order requires 

[PATCH] tools/memory-model: Rename litmus tests to comply to norm7

2018-05-29 Thread Andrea Parri
norm7 produces the 'normalized' name of a litmus test,  when the test
can be generated from a single cycle that passes through each process
exactly once. The commit renames such tests in order to comply to the
naming scheme implemented by this tool.

Signed-off-by: Andrea Parri 
Cc: Alan Stern 
Cc: Will Deacon 
Cc: Peter Zijlstra 
Cc: Boqun Feng 
Cc: Nicholas Piggin 
Cc: David Howells 
Cc: Jade Alglave 
Cc: Luc Maranget 
Cc: "Paul E. McKenney" 
Cc: Akira Yokosawa 
---
 tools/memory-model/Documentation/recipes.txt   |  8 ++--
 tools/memory-model/README  | 20 +-
 .../IRIW+fencembonceonces+OnceOnce.litmus  | 45 ++
 .../litmus-tests/IRIW+mbonceonces+OnceOnce.litmus  | 45 --
 .../litmus-tests/LB+ctrlonceonce+mbonceonce.litmus | 34 
 .../LB+fencembonceonce+ctrlonceonce.litmus | 34 
 .../MP+fencewmbonceonce+fencermbonceonce.litmus| 30 +++
 .../litmus-tests/MP+wmbonceonce+rmbonceonce.litmus | 30 ---
 .../litmus-tests/R+fencembonceonces.litmus | 30 +++
 .../memory-model/litmus-tests/R+mbonceonces.litmus | 30 ---
 tools/memory-model/litmus-tests/README | 16 
 .../S+fencewmbonceonce+poacquireonce.litmus| 27 +
 .../S+wmbonceonce+poacquireonce.litmus | 27 -
 .../litmus-tests/SB+fencembonceonces.litmus| 32 +++
 .../litmus-tests/SB+mbonceonces.litmus | 32 ---
 .../WRC+pooncerelease+fencermbonceonce+Once.litmus | 38 ++
 .../WRC+pooncerelease+rmbonceonce+Once.litmus  | 38 --
 ...release+poacquirerelease+fencembonceonce.litmus | 42 
 ...ooncerelease+poacquirerelease+mbonceonce.litmus | 42 
 19 files changed, 300 insertions(+), 300 deletions(-)
 create mode 100644 
tools/memory-model/litmus-tests/IRIW+fencembonceonces+OnceOnce.litmus
 delete mode 100644 
tools/memory-model/litmus-tests/IRIW+mbonceonces+OnceOnce.litmus
 delete mode 100644 
tools/memory-model/litmus-tests/LB+ctrlonceonce+mbonceonce.litmus
 create mode 100644 
tools/memory-model/litmus-tests/LB+fencembonceonce+ctrlonceonce.litmus
 create mode 100644 
tools/memory-model/litmus-tests/MP+fencewmbonceonce+fencermbonceonce.litmus
 delete mode 100644 
tools/memory-model/litmus-tests/MP+wmbonceonce+rmbonceonce.litmus
 create mode 100644 tools/memory-model/litmus-tests/R+fencembonceonces.litmus
 delete mode 100644 tools/memory-model/litmus-tests/R+mbonceonces.litmus
 create mode 100644 
tools/memory-model/litmus-tests/S+fencewmbonceonce+poacquireonce.litmus
 delete mode 100644 
tools/memory-model/litmus-tests/S+wmbonceonce+poacquireonce.litmus
 create mode 100644 tools/memory-model/litmus-tests/SB+fencembonceonces.litmus
 delete mode 100644 tools/memory-model/litmus-tests/SB+mbonceonces.litmus
 create mode 100644 
tools/memory-model/litmus-tests/WRC+pooncerelease+fencermbonceonce+Once.litmus
 delete mode 100644 
tools/memory-model/litmus-tests/WRC+pooncerelease+rmbonceonce+Once.litmus
 create mode 100644 
tools/memory-model/litmus-tests/Z6.0+pooncerelease+poacquirerelease+fencembonceonce.litmus
 delete mode 100644 
tools/memory-model/litmus-tests/Z6.0+pooncerelease+poacquirerelease+mbonceonce.litmus

diff --git a/tools/memory-model/Documentation/recipes.txt 
b/tools/memory-model/Documentation/recipes.txt
index ee4309a87fc45..a40802fa1099e 100644
--- a/tools/memory-model/Documentation/recipes.txt
+++ b/tools/memory-model/Documentation/recipes.txt
@@ -126,7 +126,7 @@ However, it is not necessarily the case that accesses 
ordered by
 locking will be seen as ordered by CPUs not holding that lock.
 Consider this example:
 
-   /* See Z6.0+pooncelock+pooncelock+pombonce.litmus. */
+   /* See Z6.0+pooncerelease+poacquirerelease+fencembonceonce.litmus. */
void CPU0(void)
{
spin_lock();
@@ -292,7 +292,7 @@ and to use smp_load_acquire() instead of smp_rmb().  
However, the older
 smp_wmb() and smp_rmb() APIs are still heavily used, so it is important
 to understand their use cases.  The general approach is shown below:
 
-   /* See MP+wmbonceonce+rmbonceonce.litmus. */
+   /* See MP+fencewmbonceonce+fencermbonceonce.litmus. */
void CPU0(void)
{
WRITE_ONCE(x, 1);
@@ -360,7 +360,7 @@ can be seen in the LB+poonceonces.litmus litmus test.
 One way of avoiding the counter-intuitive outcome is through the use of a
 control dependency paired with a full memory barrier:
 
-   /* See LB+ctrlonceonce+mbonceonce.litmus. */
+   /* See LB+fencembonceonce+ctrlonceonce.litmus. */
void CPU0(void)
{
r0 = READ_ONCE(x);
@@ -476,7 +476,7 @@ that one CPU first stores to one variable and then loads 
from a second,
 while another CPU stores to the second variable and then loads from the
 first.  Preserving order requires