2018-02-01 12:05:09

by Andrea Parri

[permalink] [raw]
Subject: [PATCH 1/2] 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, 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 <[email protected]>
Signed-off-by: Andrea Parri <[email protected]>
---
tools/memory-model/MAINTAINERS | 2 +-
tools/memory-model/README | 14 +++++++-------
tools/memory-model/linux-kernel.bell | 2 +-
tools/memory-model/linux-kernel.cat | 2 +-
4 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/tools/memory-model/MAINTAINERS b/tools/memory-model/MAINTAINERS
index 711cbe72d6066..db3bd3fc0435b 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 <[email protected]>
M: Andrea Parri <[email protected]>
M: Will Deacon <[email protected]>
diff --git a/tools/memory-model/README b/tools/memory-model/README
index 43ba49492111c..91414a49fac53 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 57112505f5e03..b984bbda01a5c 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 15b7a5dd8a9af..babe2b3b0bb32 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.
--
2.7.4



2018-02-01 13:41:19

by Will Deacon

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

On Thu, Feb 01, 2018 at 01:03:29PM +0100, 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 <[email protected]>
> Signed-off-by: Andrea Parri <[email protected]>
> ---
> tools/memory-model/MAINTAINERS | 2 +-
> tools/memory-model/README | 14 +++++++-------
> tools/memory-model/linux-kernel.bell | 2 +-
> tools/memory-model/linux-kernel.cat | 2 +-
> 4 files changed, 10 insertions(+), 10 deletions(-)

Acked-by: Will Deacon <[email protected]>

Will

2018-02-01 15:27:47

by Alan Stern

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

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 <[email protected]>
> Signed-off-by: Andrea Parri <[email protected]>

For both patches:

Acked-by: Alan Stern <[email protected]>


2018-02-02 08:42:14

by Paul E. McKenney

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

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 <[email protected]>
> > Signed-off-by: Andrea Parri <[email protected]>
>
> For both patches:
>
> Acked-by: Alan Stern <[email protected]>

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 <[email protected]>
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 <[email protected]>
Signed-off-by: Andrea Parri <[email protected]>
Acked-by: Will Deacon <[email protected]>
Acked-by: Alan Stern <[email protected]>
Signed-off-by: Paul E. McKenney <[email protected]>

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 <[email protected]>
M: Andrea Parri <[email protected]>
M: Will Deacon <[email protected]>
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.


2018-02-02 08:56:46

by Andrea Parri

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

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 <[email protected]>
> > > Signed-off-by: Andrea Parri <[email protected]>
> >
> > For both patches:
> >
> > Acked-by: Alan Stern <[email protected]>
>
> 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?

You mean in order to integrate Will's suggestion? I was planning to send
that as a separate patch, as suggested by Will: the patch is on its way,
IAC, please let me know if you'd prefer a V2 merging the two changes.

Andrea


>
> Thanx, Paul
>
> ------------------------------------------------------------------------
>
> commit de175b697f71b8e3e6d980b7186b909fee0c4378
> Author: Andrea Parri <[email protected]>
> 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 <[email protected]>
> Signed-off-by: Andrea Parri <[email protected]>
> Acked-by: Will Deacon <[email protected]>
> Acked-by: Alan Stern <[email protected]>
> Signed-off-by: Paul E. McKenney <[email protected]>
>
> 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 <[email protected]>
> M: Andrea Parri <[email protected]>
> M: Will Deacon <[email protected]>
> 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.
>

2018-02-02 10:45:22

by Andrea Parri

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

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 <[email protected]>
> > > Signed-off-by: Andrea Parri <[email protected]>
> >
> > For both patches:
> >
> > Acked-by: Alan Stern <[email protected]>
>
> 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".

Andrea


>
> Andrea, when you resend your second patch, could you please add Alan's
> Acked-by?
>
> Thanx, Paul
>
> ------------------------------------------------------------------------
>
> commit de175b697f71b8e3e6d980b7186b909fee0c4378
> Author: Andrea Parri <[email protected]>
> 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 <[email protected]>
> Signed-off-by: Andrea Parri <[email protected]>
> Acked-by: Will Deacon <[email protected]>
> Acked-by: Alan Stern <[email protected]>
> Signed-off-by: Paul E. McKenney <[email protected]>
>
> 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 <[email protected]>
> M: Andrea Parri <[email protected]>
> M: Will Deacon <[email protected]>
> 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.
>

2018-02-02 23:33:57

by Paul E. McKenney

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

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 <[email protected]>
> > > > Signed-off-by: Andrea Parri <[email protected]>
> > >
> > > For both patches:
> > >
> > > Acked-by: Alan Stern <[email protected]>
> >
> > 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 <[email protected]>
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 <[email protected]>
Signed-off-by: Andrea Parri <[email protected]>
Acked-by: Will Deacon <[email protected]>
Acked-by: Alan Stern <[email protected]>
Signed-off-by: Paul E. McKenney <[email protected]>

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 <[email protected]>
M: Andrea Parri <[email protected]>
M: Will Deacon <[email protected]>
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.


2018-02-02 23:35:40

by Paul E. McKenney

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

On Fri, Feb 02, 2018 at 03:17:53PM -0800, Paul E. McKenney wrote:
> On Fri, Feb 02, 2018 at 09:54:27AM +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 <[email protected]>
> > > > > Signed-off-by: Andrea Parri <[email protected]>
> > > >
> > > > For both patches:
> > > >
> > > > Acked-by: Alan Stern <[email protected]>
> > >
> > > 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?
> >
> > You mean in order to integrate Will's suggestion? I was planning to send
> > that as a separate patch, as suggested by Will: the patch is on its way,
> > IAC, please let me know if you'd prefer a V2 merging the two changes.
>
> Ah, apologies, I misread your reply. I have queued your second patch
> with Will's and Alan's Acked-by's.

And I did reword the commit log a bit, so please check it.

Thanx, Paul

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

commit 12a62a1d07031c0afa396b03334abbe30d9b9cf7
Author: Andrea Parri <[email protected]>
Date: Thu Feb 1 13:04:26 2018 +0100

MAINTAINERS: Add the Memory Consistency Model subsystem

Move the contents of tools/memory-model/MAINTAINERS into the main
MAINTAINERS file, removing tools/memory-model/MAINTAINERS. This
allows get_maintainer.pl to correctly identify the maintainers of
tools/memory-model/.

Suggested-by: Ingo Molnar <[email protected]>
Signed-off-by: Andrea Parri <[email protected]>
Acked-by: Will Deacon <[email protected]>
Acked-by: Alan Stern <[email protected]>
Signed-off-by: Paul E. McKenney <[email protected]>

diff --git a/MAINTAINERS b/MAINTAINERS
index e3581413420c..ba4dc08fbe95 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -8086,6 +8086,22 @@ M: Kees Cook <[email protected]>
S: Maintained
F: drivers/misc/lkdtm*

+LINUX KERNEL MEMORY CONSISTENCY MODEL
+M: Alan Stern <[email protected]>
+M: Andrea Parri <[email protected]>
+M: Will Deacon <[email protected]>
+M: Peter Zijlstra <[email protected]>
+M: Boqun Feng <[email protected]>
+M: Nicholas Piggin <[email protected]>
+M: David Howells <[email protected]>
+M: Jade Alglave <[email protected]>
+M: Luc Maranget <[email protected]>
+M: "Paul E. McKenney" <[email protected]>
+L: [email protected]
+S: Supported
+T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
+F: tools/memory-model/
+
LINUX SECURITY MODULE (LSM) FRAMEWORK
M: Chris Wright <[email protected]>
L: [email protected]
diff --git a/tools/memory-model/MAINTAINERS b/tools/memory-model/MAINTAINERS
deleted file mode 100644
index db3bd3fc0435..000000000000
--- a/tools/memory-model/MAINTAINERS
+++ /dev/null
@@ -1,15 +0,0 @@
-LINUX KERNEL MEMORY CONSISTENCY MODEL
-M: Alan Stern <[email protected]>
-M: Andrea Parri <[email protected]>
-M: Will Deacon <[email protected]>
-M: Peter Zijlstra <[email protected]>
-M: Boqun Feng <[email protected]>
-M: Nicholas Piggin <[email protected]>
-M: David Howells <[email protected]>
-M: Jade Alglave <[email protected]>
-M: Luc Maranget <[email protected]>
-M: "Paul E. McKenney" <[email protected]>
-L: [email protected]
-S: Supported
-T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
-F: tools/memory-model/


2018-02-02 23:49:05

by Andrea Parri

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

On Fri, Feb 02, 2018 at 03:19:22PM -0800, Paul E. McKenney wrote:
> 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 <[email protected]>
> > > > > Signed-off-by: Andrea Parri <[email protected]>
> > > >
> > > > For both patches:
> > > >
> > > > Acked-by: Alan Stern <[email protected]>
> > >
> > > 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?

Looks good to me. The same for 12a62a1d07031.

Thanks,
Andrea


>
> Thanx, Paul
>
> -----------------------------------------------------------------------
>
> commit 2b1b4ab5166209da849f306fbdc84114d9e611fd
> Author: Andrea Parri <[email protected]>
> 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 <[email protected]>
> Signed-off-by: Andrea Parri <[email protected]>
> Acked-by: Will Deacon <[email protected]>
> Acked-by: Alan Stern <[email protected]>
> Signed-off-by: Paul E. McKenney <[email protected]>
>
> 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 <[email protected]>
> M: Andrea Parri <[email protected]>
> M: Will Deacon <[email protected]>
> 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.
>

2018-02-03 01:16:34

by Paul E. McKenney

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

On Fri, Feb 02, 2018 at 09:54:27AM +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 <[email protected]>
> > > > Signed-off-by: Andrea Parri <[email protected]>
> > >
> > > For both patches:
> > >
> > > Acked-by: Alan Stern <[email protected]>
> >
> > 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?
>
> You mean in order to integrate Will's suggestion? I was planning to send
> that as a separate patch, as suggested by Will: the patch is on its way,
> IAC, please let me know if you'd prefer a V2 merging the two changes.

Ah, apologies, I misread your reply. I have queued your second patch
with Will's and Alan's Acked-by's.

Thanx, Paul

> Andrea
>
>
> >
> > Thanx, Paul
> >
> > ------------------------------------------------------------------------
> >
> > commit de175b697f71b8e3e6d980b7186b909fee0c4378
> > Author: Andrea Parri <[email protected]>
> > 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 <[email protected]>
> > Signed-off-by: Andrea Parri <[email protected]>
> > Acked-by: Will Deacon <[email protected]>
> > Acked-by: Alan Stern <[email protected]>
> > Signed-off-by: Paul E. McKenney <[email protected]>
> >
> > 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 <[email protected]>
> > M: Andrea Parri <[email protected]>
> > M: Will Deacon <[email protected]>
> > 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.
> >
>