All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Will Deacon <will.deacon@arm.com>
Cc: stern@rowland.harvard.edu, parri.andrea@gmail.com,
	peterz@infradead.org, boqun.feng@gmail.com, npiggin@gmail.com,
	dhowells@redhat.com, j.alglave@ucl.ac.uk, luc.maranget@inria.fr,
	linux-kernel@vger.kernel.org, elena.reshetova@intel.com,
	mhocko@suse.com, linux-arch@vger.kernel.org
Subject: Re: [PATCH v2] Automate memory-barriers.txt; provide Linux-kernel memory model
Date: Thu, 25 Jan 2018 01:35:29 -0800	[thread overview]
Message-ID: <20180125093529.GA3741@linux.vnet.ibm.com> (raw)
In-Reply-To: <20180124105955.GA21491@arm.com>

On Wed, Jan 24, 2018 at 10:59:55AM +0000, Will Deacon wrote:
> Hi Paul,
> 
> On Tue, Jan 23, 2018 at 04:00:14PM -0800, Paul E. McKenney wrote:
> > On Fri, Jan 19, 2018 at 09:12:11AM -0800, Paul E. McKenney wrote:
> > > On Thu, Jan 18, 2018 at 07:58:55PM -0800, Paul E. McKenney wrote:
> > > > Hello!
> > > > 
> > > > There is some reason to believe that Documentation/memory-barriers.txt
> > > > could use some help, and a major purpose of this patch is to provide
> > > > that help in the form of a design-time tool that can produce all valid
> > > > executions of a small fragment of concurrent Linux-kernel code, which is
> > > > called a "litmus test".  This tool's functionality is roughly similar to
> > > > a full state-space search.  Please note that this is a design-time tool,
> > > > not useful for regression testing.  However, we hope that the underlying
> > > > Linux-kernel memory model will be incorporated into other tools capable
> > > > of analyzing large bodies of code for regression-testing purposes.
> > > > 
> > > > The main tool is herd7, together with the linux-kernel.bell,
> > > > linux-kernel.cat, linux-kernel.cfg, linux-kernel.def, and lock.cat files
> > > > added by this patch.  The herd7 executable takes the other files as input,
> > > > and all of these files collectively define the Linux-kernel memory memory
> > > > model.  A brief description of each of these other files is provided
> > > > in the README file.  Although this tool does have its limitations,
> > > > which are documented in the README file, it does improve on the version
> > > > reported on in the LWN series (https://lwn.net/Articles/718628/ and
> > > > https://lwn.net/Articles/720550/) by supporting locking and arithmetic,
> > > > including a much wider variety of read-modify-write atomic operations.
> > > > Please note that herd7 is not part of this submission, but is freely
> > > > available from http://diy.inria.fr/sources/index.html (and via "git"
> > > > at https://github.com/herd/herdtools7).
> > > 
> > > Please note that the latest version of herd is necessary for this version
> > > of the memory model.  With older versions, you will get error messages
> > > like the following:
> > > 
> > > File "./linux-kernel.def", line 44, characters 29-30: unexpected '-' (in macros)
> > > 
> > > Many thanks to Andrea for spotting this one!
> > 
> > And given that I am hearing no objections, I am thinking in terms of
> > sending this in a pull request later this week.
> 
> No objections from me. I can't claim to have deep knowledge about everything
> being contributed here, but I think that the documentation is well-written
> and a welcome addition to the codebase (thanks, Alan!). I also find that,
> whilst complicated, the gist of the .cat file comes across pretty well and
> is less confusing than the previous situation where we had two .cat files
> for the strong and weak models.
> 
> At this stage of maturity, I think that this is all much better as part of
> the kernel sources and maintained as such, knowing that things will change
> as we encounter new tests and CPU architectures.

Sounds very good to me!  I just sent a pull request.  Wish me luck.  ;-)

							Thanx, Paul

      reply	other threads:[~2018-01-25  9:35 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-19  3:58 [PATCH v2] Automate memory-barriers.txt; provide Linux-kernel memory model Paul E. McKenney
2018-01-19  3:58 ` Paul E. McKenney
2018-01-19 17:12 ` Paul E. McKenney
2018-01-24  0:00   ` Paul E. McKenney
2018-01-24 10:59     ` Will Deacon
2018-01-25  9:35       ` Paul E. McKenney [this message]

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=20180125093529.GA3741@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=boqun.feng@gmail.com \
    --cc=dhowells@redhat.com \
    --cc=elena.reshetova@intel.com \
    --cc=j.alglave@ucl.ac.uk \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luc.maranget@inria.fr \
    --cc=mhocko@suse.com \
    --cc=npiggin@gmail.com \
    --cc=parri.andrea@gmail.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.