Re: [PATCH 1/2] tools/memory-model: clarify the origin/scope of the tool name

From: Paul E. McKenney
Date: Fri Feb 02 2018 - 03:41:03 EST


On Thu, Feb 01, 2018 at 10:26:50AM -0500, Alan Stern wrote:
> On Thu, 1 Feb 2018, Andrea Parri wrote:
>
> > Ingo pointed out that:
> >
> > "The "memory model" name is overly generic, ambiguous and somewhat
> > misleading, as we usually mean the virtual memory layout/model
> > when we say "memory model". GCC too uses it in that sense [...]"
> >
> > Make it clearer that, in the context of tools/memory-model/, the term
> > "memory-model" is used as shorthand for "memory consistency model" by
> > calling out this convention in tools/memory-model/README.
> >
> > Stick to the full name in sources' headers and for the subsystem name.
> >
> > Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx>
> > Signed-off-by: Andrea Parri <parri.andrea@xxxxxxxxx>
>
> For both patches:
>
> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>

Thank you all -- I have queued this and pushed it to my RCU tree on
branch lkmm. I did reword the commit log a bit, please see below and
please let me know if any of my rewordings need halp.

Andrea, when you resend your second patch, could you please add Alan's
Acked-by?

Thanx, Paul

------------------------------------------------------------------------

commit de175b697f71b8e3e6d980b7186b909fee0c4378
Author: Andrea Parri <parri.andrea@xxxxxxxxx>
Date: Thu Feb 1 13:03:29 2018 +0100

tools/memory-model: Clarify the origin/scope of the tool name

Ingo pointed out that:

"The "memory model" name is overly generic, ambiguous and somewhat
misleading, as we usually mean the virtual memory layout/model
when we say "memory model". GCC too uses it in that sense [...]"

Make it clearer that tools/memory-model/ uses the term "memory model"
is used as shorthand for "memory consistency model" by calling out this
convention in tools/memory-model/README.

Stick to the original "memory model" term in sources' headers and for
the subsystem name.

Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx>
Signed-off-by: Andrea Parri <parri.andrea@xxxxxxxxx>
Acked-by: Will Deacon <will.deacon@xxxxxxx>
Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>

diff --git a/tools/memory-model/MAINTAINERS b/tools/memory-model/MAINTAINERS
index 711cbe72d606..db3bd3fc0435 100644
--- a/tools/memory-model/MAINTAINERS
+++ b/tools/memory-model/MAINTAINERS
@@ -1,4 +1,4 @@
-LINUX KERNEL MEMORY MODEL
+LINUX KERNEL MEMORY CONSISTENCY MODEL
M: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
M: Andrea Parri <parri.andrea@xxxxxxxxx>
M: Will Deacon <will.deacon@xxxxxxx>
diff --git a/tools/memory-model/README b/tools/memory-model/README
index 43ba49492111..91414a49fac5 100644
--- a/tools/memory-model/README
+++ b/tools/memory-model/README
@@ -1,15 +1,15 @@
- =========================
- LINUX KERNEL MEMORY MODEL
- =========================
+ =====================================
+ LINUX KERNEL MEMORY CONSISTENCY MODEL
+ =====================================

============
INTRODUCTION
============

-This directory contains the memory model of the Linux kernel, written
-in the "cat" language and executable by the (externally provided)
-"herd7" simulator, which exhaustively explores the state space of
-small litmus tests.
+This directory contains the memory consistency model (memory model, for
+short) of the Linux kernel, written in the "cat" language and executable
+by the externally provided "herd7" simulator, which exhaustively explores
+the state space of small litmus tests.

In addition, the "klitmus7" tool (also externally provided) may be used
to convert a litmus test to a Linux kernel module, which in turn allows
diff --git a/tools/memory-model/linux-kernel.bell b/tools/memory-model/linux-kernel.bell
index 57112505f5e0..b984bbda01a5 100644
--- a/tools/memory-model/linux-kernel.bell
+++ b/tools/memory-model/linux-kernel.bell
@@ -11,7 +11,7 @@
* which is to appear in ASPLOS 2018.
*)

-"Linux kernel memory model"
+"Linux-kernel memory consistency model"

enum Accesses = 'once (*READ_ONCE,WRITE_ONCE,ACCESS_ONCE*) ||
'release (*smp_store_release*) ||
diff --git a/tools/memory-model/linux-kernel.cat b/tools/memory-model/linux-kernel.cat
index 15b7a5dd8a9a..babe2b3b0bb3 100644
--- a/tools/memory-model/linux-kernel.cat
+++ b/tools/memory-model/linux-kernel.cat
@@ -11,7 +11,7 @@
* which is to appear in ASPLOS 2018.
*)

-"Linux kernel memory model"
+"Linux-kernel memory consistency model"

(*
* File "lock.cat" handles locks and is experimental.