From: Andrea Parri <parri.andrea@gmail.com>
To: Akira Yokosawa <akiyks@gmail.com>
Cc: paulmck@linux.vnet.ibm.com, linux-kernel@vger.kernel.org,
linux-doc@vger.kernel.org, stern@rowland.harvard.edu,
will.deacon@arm.com, peterz@infradead.org, boqun.feng@gmail.com,
npiggin@gmail.com, dhowells@redhat.com, j.alglave@ucl.ac.uk,
luc.maranget@inria.fr, corbet@lwn.net
Subject: Re: [PATCH 1/2] Documentation/memory-barriers.txt: cross-reference "tools/memory-model/"
Date: Sun, 4 Feb 2018 19:37:08 +0100 [thread overview]
Message-ID: <20180204183708.GA10437@andrea> (raw)
In-Reply-To: <8b4db282-2705-ed96-cf23-b0cdf94bbac8@gmail.com>
Hi Akira,
On Mon, Feb 05, 2018 at 01:14:10AM +0900, Akira Yokosawa wrote:
> Hi Paul,
> CC: Andrea
>
> This is intentionally off the list, as I was not cc'd in the thread.
> If you think it is worthwhile, could you help me join the thread by
> forwarding the following part as a reply to your message, plus CC: to me.
[CCing lists and other people]
>
> On Fri, Feb 02, 2018 at 17:21:03AM -0800, Paul E. McKenney wrote:
> > On Fri, Feb 02, 2018 at 10:12:48AM +0100, Andrea Parri wrote:
> >> Recent efforts led to the specification of a memory consistency model
> >> for the Linux kernel [1], which "can (roughly speaking) be thought of
> >> as an automated version of memory-barriers.txt" and which is (in turn)
> >> "accompanied by extensive documentation on its use and its design".
> >>
> >> Make sure that the (occasional) reader of memory-barriers.txt will be
> >> aware of these developments.
> >>
> >> [1] https://marc.info/?l=linux-kernel&m=151687290114799&w=2
> >>
> >> Signed-off-by: Andrea Parri <parri.andrea@xxxxxxxxx>
> >
> > I am inclined to pull in something along these lines, but would like
> > some feedback on the wording, especially how "official" we want to
> > make the memory model to be.
> >
> > Thoughts?
>
> The change log of commit e7720af5f9ac ("locking/Documentation: Add disclaimer") says:
>
> It appears people are reading this document as a requirements list for
> building hardware. This is not the intent of this document. Nor is it
> particularly suited for this purpose.
>
> The primary purpose of this document is our collective attempt to define
> a set of primitives that (hopefully) allow us to write correct code on
> the myriad of SMP platforms Linux supports.
>
> Its a definite work in progress as our understanding of these platforms,
> and memory ordering in general, progresses.
>
> Nor does being mentioned in this document mean we think its a
> particularly good idea; the data dependency barrier required by Alpha
> being a prime example. Yes we have it, no you're insane to require it
> when building new hardware.
>
> My take on the Linux Kernel memory-consistency model is a supplement of
> memory-barriers.txt and the disclaimer also applies to the memory model.
>
> >
> > If I don't hear otherwise in a couple of days, I will pull this as is.
> >
> > Thanx, Paul
> >
> >> ---
> >> Documentation/memory-barriers.txt | 4 +++-
> >> 1 file changed, 3 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/Documentation/memory-barriers.txt b/Documentation/memory-barriers.txt
> >> index a863009849a3b..8cc3f098f4a7d 100644
> >> --- a/Documentation/memory-barriers.txt
> >> +++ b/Documentation/memory-barriers.txt
> >> @@ -17,7 +17,9 @@ meant as a guide to using the various memory barriers provided by Linux, but
> >> in case of any doubt (and there are many) please ask.
> >>
> >> To repeat, this document is not a specification of what Linux expects from
> >> -hardware.
> >> +hardware. For such a specification, in the form of a memory consistency
> >> +model, and for documentation about its usage and its design, the reader is
> >> +referred to "tools/memory-model/".
> >>
>
> Adding cross-reference in this way can _weaken_ the message of the disclaimer.
Thank you for your remarks; I do share the same concern.
> What about adding it in the previous sentence as the patch appended bellow?
I do like this idea: I believe that my phrasing (and that "what Linux
expects from hardware") may be easily subject to misinterpretation...
which your solution can avoid.
Andrea
>
> The tag use in the change log may need adjustments. I'm not familiar with the
> manner in modifying other persons' patches. Of course, the wording itself can
> be improved further. Any feedback is welcome.
>
> Thanks, Akira
>
> >> The purpose of this document is twofold:
> >>
> >> --
> >> 2.7.4
> >>
>
> ----8<-------
> From 714e8c4b09acd6e965de116532dce05070b9e636 Mon Sep 17 00:00:00 2001
> From: Akira Yokosawa <akiyks@gmail.com>
> Date: Mon, 5 Feb 2018 00:28:36 +0900
> Subject: [PATCH] Documentation/memory-barriers.txt: cross-reference "tools/memory-model/"
>
> Recent efforts led to the specification of a memory consistency model
> for the Linux kernel [1], which "can (roughly speaking) be thought of
> as an automated version of memory-barriers.txt" and which is (in turn)
> "accompanied by extensive documentation on its use and its design".
>
> Make sure that the (occasional) reader of memory-barriers.txt will be
> aware of these developments.
>
> [1] https://marc.info/?l=linux-kernel&m=151687290114799&w=2
>
> Signed-off-by: Andrea Parri <parri.andrea@gmail.com>
> Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
> ---
> Documentation/memory-barriers.txt | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/memory-barriers.txt b/Documentation/memory-barriers.txt
> index 479ecec..975488d 100644
> --- a/Documentation/memory-barriers.txt
> +++ b/Documentation/memory-barriers.txt
> @@ -14,7 +14,9 @@ DISCLAIMER
> This document is not a specification; it is intentionally (for the sake of
> brevity) and unintentionally (due to being human) incomplete. This document is
> meant as a guide to using the various memory barriers provided by Linux, but
> -in case of any doubt (and there are many) please ask.
> +in case of any doubt (and there are many) please ask. For clarification of such
> +doubt, in the form of a memory consistency model, and for documentation about
> +its usage and its design, the reader is referred to "tools/memory-model/".
>
> To repeat, this document is not a specification of what Linux expects from
> hardware.
> --
> 2.7.4
>
>
>
next prev parent reply other threads:[~2018-02-04 18:37 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-02 9:12 [PATCH 1/2] Documentation/memory-barriers.txt: cross-reference "tools/memory-model/" Andrea Parri
2018-02-03 1:21 ` Paul E. McKenney
[not found] ` <8b4db282-2705-ed96-cf23-b0cdf94bbac8@gmail.com>
2018-02-04 18:37 ` Andrea Parri [this message]
2018-02-09 12:31 ` Paul E. McKenney
2018-02-09 12:50 ` Andrea Parri
2018-02-09 13:11 ` Akira Yokosawa
2018-02-09 14:29 ` Paul E. McKenney
2018-02-09 14:53 ` Akira Yokosawa
2018-02-09 15:00 ` Andrea Parri
2018-02-10 0:55 ` Paul E. McKenney
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180204183708.GA10437@andrea \
--to=parri.andrea@gmail.com \
--cc=akiyks@gmail.com \
--cc=boqun.feng@gmail.com \
--cc=corbet@lwn.net \
--cc=dhowells@redhat.com \
--cc=j.alglave@ucl.ac.uk \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luc.maranget@inria.fr \
--cc=npiggin@gmail.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=stern@rowland.harvard.edu \
--cc=will.deacon@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.