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

From: Paul E. McKenney
Date: Fri Feb 02 2018 - 18:19:33 EST


On Fri, Feb 02, 2018 at 11:44:21AM +0100, Andrea Parri wrote:
> On Thu, Feb 01, 2018 at 03:09:41PM -0800, Paul E. McKenney wrote:
> > 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.
>
> Seems to me that your message has a leftover "is used".

Good catch, how about this instead?

Thanx, Paul

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

commit 2b1b4ab5166209da849f306fbdc84114d9e611fd
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 clear that tools/memory-model/ uses the term "memory model" 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.