2018-06-28 15:49:24

by Mark Rutland

[permalink] [raw]
Subject: [PATCH 0/2] tools/memory-model: remove ACCESS_ONCE()

Since commit:

b899a850431e2dd0 ("compiler.h: Remove ACCESS_ONCE()")

... there has been no definition of ACCESS_ONCE() in the kernel tree,
and it has been necessary to use READ_ONCE() or WRITE_ONCE() instead.

However, since then the kernel memory model was added to the Linux tree,
sporting new instances of ACCESS_ONCE() in examples and in the memory
model itself.

These patches remove the new instances of ACCESS_ONCE() for consistency
with the contemporary codebase.

Thanks,
Mark.

Mark Rutland (2):
tools/memory-model: remove ACCESS_ONCE() from recipes
tools/memory-model: remove ACCESS_ONCE() from model

tools/memory-model/Documentation/recipes.txt | 4 ++--
tools/memory-model/linux-kernel.bell | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)

--
2.11.0



2018-06-28 12:48:01

by Mark Rutland

[permalink] [raw]
Subject: [PATCH 2/2] tools/memory-model: remove ACCESS_ONCE() from model

Since commit:

b899a850431e2dd0 ("compiler.h: Remove ACCESS_ONCE()")

... there has been no definition of ACCESS_ONCE() in the kernel tree,
and it has been necessary to use READ_ONCE() or WRITE_ONCE() instead.

Correspondingly, let's remove ACCESS_ONCE() from the kernel memory
model.

Signed-off-by: Mark Rutland <[email protected]>
Cc: Alan Stern <[email protected]>
Cc: Andrea Parri <[email protected]>
Cc: Will Deacon <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Boqun Feng <[email protected]>
Cc: Nicholas Piggin <[email protected]>
Cc: David Howells <[email protected]>
Cc: Jade Alglave <[email protected]>
Cc: Luc Maranget <[email protected]>
Cc: Paul E. McKenney <[email protected]>
Cc: Akira Yokosawa <[email protected]>
---
tools/memory-model/linux-kernel.bell | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/memory-model/linux-kernel.bell b/tools/memory-model/linux-kernel.bell
index 64f5740e0e75..b84fb2f67109 100644
--- a/tools/memory-model/linux-kernel.bell
+++ b/tools/memory-model/linux-kernel.bell
@@ -13,7 +13,7 @@

"Linux-kernel memory consistency model"

-enum Accesses = 'once (*READ_ONCE,WRITE_ONCE,ACCESS_ONCE*) ||
+enum Accesses = 'once (*READ_ONCE,WRITE_ONCE*) ||
'release (*smp_store_release*) ||
'acquire (*smp_load_acquire*) ||
'noreturn (* R of non-return RMW *)
--
2.11.0


2018-06-28 15:49:44

by Mark Rutland

[permalink] [raw]
Subject: [PATCH 1/2] tools/memory-model: remove ACCESS_ONCE() from recipes

Since commit:

b899a850431e2dd0 ("compiler.h: Remove ACCESS_ONCE()")

... there has been no definition of ACCESS_ONCE() in the kernel tree,
and it has been necessary to use READ_ONCE() or WRITE_ONCE() instead.

Let's update the exmaples in recipes.txt likewise for consistency, using
READ_ONCE() for reads.

Signed-off-by: Mark Rutland <[email protected]>
Cc: Alan Stern <[email protected]>
Cc: Andrea Parri <[email protected]>
Cc: Will Deacon <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Boqun Feng <[email protected]>
Cc: Nicholas Piggin <[email protected]>
Cc: David Howells <[email protected]>
Cc: Jade Alglave <[email protected]>
Cc: Luc Maranget <[email protected]>
Cc: Paul E. McKenney <[email protected]>
Cc: Akira Yokosawa <[email protected]>
---
tools/memory-model/Documentation/recipes.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/memory-model/Documentation/recipes.txt b/tools/memory-model/Documentation/recipes.txt
index ee4309a87fc4..1fea8ef2b184 100644
--- a/tools/memory-model/Documentation/recipes.txt
+++ b/tools/memory-model/Documentation/recipes.txt
@@ -322,9 +322,9 @@ the following write-side code fragment:
And the xlog_valid_lsn() function in fs/xfs/xfs_log_priv.h contains
the corresponding read-side code fragment:

- cur_cycle = ACCESS_ONCE(log->l_curr_cycle);
+ cur_cycle = READ_ONCE(log->l_curr_cycle);
smp_rmb();
- cur_block = ACCESS_ONCE(log->l_curr_block);
+ cur_block = READ_ONCE(log->l_curr_block);

Alternatively, consider the following comment in function
perf_output_put_handle() in kernel/events/ring_buffer.c:
--
2.11.0


2018-06-28 15:51:41

by Andrea Parri

[permalink] [raw]
Subject: Re: [PATCH 0/2] tools/memory-model: remove ACCESS_ONCE()

On Thu, Jun 28, 2018 at 01:33:45PM +0100, Mark Rutland wrote:
> Since commit:
>
> b899a850431e2dd0 ("compiler.h: Remove ACCESS_ONCE()")
>
> ... there has been no definition of ACCESS_ONCE() in the kernel tree,
> and it has been necessary to use READ_ONCE() or WRITE_ONCE() instead.
>
> However, since then the kernel memory model was added to the Linux tree,
> sporting new instances of ACCESS_ONCE() in examples and in the memory
> model itself.
>
> These patches remove the new instances of ACCESS_ONCE() for consistency
> with the contemporary codebase.
>
> Thanks,
> Mark.
>
> Mark Rutland (2):
> tools/memory-model: remove ACCESS_ONCE() from recipes
> tools/memory-model: remove ACCESS_ONCE() from model

For the series:

Acked-by: Andrea Parri <[email protected]>

Cheers,
Andrea


>
> tools/memory-model/Documentation/recipes.txt | 4 ++--
> tools/memory-model/linux-kernel.bell | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> --
> 2.11.0
>

2018-06-28 18:54:27

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [PATCH 0/2] tools/memory-model: remove ACCESS_ONCE()

On Thu, Jun 28, 2018 at 02:38:45PM +0200, Andrea Parri wrote:
> On Thu, Jun 28, 2018 at 01:33:45PM +0100, Mark Rutland wrote:
> > Since commit:
> >
> > b899a850431e2dd0 ("compiler.h: Remove ACCESS_ONCE()")
> >
> > ... there has been no definition of ACCESS_ONCE() in the kernel tree,
> > and it has been necessary to use READ_ONCE() or WRITE_ONCE() instead.
> >
> > However, since then the kernel memory model was added to the Linux tree,
> > sporting new instances of ACCESS_ONCE() in examples and in the memory
> > model itself.
> >
> > These patches remove the new instances of ACCESS_ONCE() for consistency
> > with the contemporary codebase.
> >
> > Thanks,
> > Mark.
> >
> > Mark Rutland (2):
> > tools/memory-model: remove ACCESS_ONCE() from recipes
> > tools/memory-model: remove ACCESS_ONCE() from model
>
> For the series:
>
> Acked-by: Andrea Parri <[email protected]>

Applied, thank you both! These both are ready for the upcoming merge
window.

While I am at it, here is the current scorecard:

e9ff68680cd4 tools/memory-model: Add litmus test for full multicopy atomicity
c21fcc6594f1 tools/memory-model: Fix ISA2+pooncelock+pooncelock+pombonce name
aa838e0b70e1 MAINTAINERS: Add Daniel Lustig as an LKMM reviewer
3cb0d7701c4c locking/memory-barriers.txt/kokr: Update Korean translation to fix broken DMA vs. MMIO ordering example
0bde941f3629 tools/memory-model: Remove ACCESS_ONCE() from recipes
80b7b05c3aa0 tools/memory-model: Remove ACCESS_ONCE() from model

The above patches are ready for the upcoming merge window because
each has at least one Acked-by or Reviewed-by.

6098ce88bc4d tools/memory-model: Make scripts executable
5bb22d0126f9 tools/memory-model: Rename litmus tests to comply to norm7
1bc179880fba docs: atomic_ops: Describe atomic_set as a write operation

The above patches need at least one additional Acked-by
or Reviewed-by. If any of you gets a chance, please do
look them over.

51b0a8985c5a EXP tools/memory-model: Add litmus-test naming scheme

This patch needs me to get Will Deacon's feedback applied. :-/

06e99a0d9662 EXP tools/memory-model: Add .cfg and .cat files for s390

This is a placeholder, and probably won't ever go upstream
into the Linux kernel. (Maybe someday into herd where the
other architecture-specific .cat files live.)

Thanx, Paul

> Cheers,
> Andrea
>
>
> >
> > tools/memory-model/Documentation/recipes.txt | 4 ++--
> > tools/memory-model/linux-kernel.bell | 2 +-
> > 2 files changed, 3 insertions(+), 3 deletions(-)
> >
> > --
> > 2.11.0
> >
>


2018-06-28 19:24:13

by Andrea Parri

[permalink] [raw]
Subject: Re: [PATCH 0/2] tools/memory-model: remove ACCESS_ONCE()

> 1bc179880fba docs: atomic_ops: Describe atomic_set as a write operation
>
> The above patches need at least one additional Acked-by
> or Reviewed-by. If any of you gets a chance, please do
> look them over.

Glad this came out. ;-)

No objection to the patch: feel free to add my Reviewed-by: tag.

(BTW, atomic_set() would be better mapped to WRITE_ONCE()... in fact, to
be fair, some archs do it the __asm__ __volatile__() way).

I do however have some suggestions concerning "the process": searching
LKML for the patch and the related discussion, I could only find:

[PATCH] docs: atomic_ops: atomic_set is a write (not read) operation

and I realize that none of the person Cc:-ed in this thread, except you,
were Cc:-ed in that discussion (in compliance with get_maintainer.pl).

My suggestions:

1) Merge the file touched by that patch into (the recently created):

Documentation/atomic_t.txt

(FWIW, queued in my TODO list).

2) Add the entry:

F: Documentation/atomic_t.txt

to the "ATOMIC INFRASTRUCTURE" subsystem in the MAINTAINERS file so
that developers can easily find (the intended?) reviewers for their
patch. (Of course, this will need ACK from the ATOMIC people).

Andrea

2018-06-29 06:25:17

by Akira Yokosawa

[permalink] [raw]
Subject: Re: [PATCH 0/2] tools/memory-model: remove ACCESS_ONCE()

On 2018/06/28 08:21:40 -0700, Paul E. McKenney wrote:
[...]
>
> While I am at it, here is the current scorecard:
>
> e9ff68680cd4 tools/memory-model: Add litmus test for full multicopy atomicity
> c21fcc6594f1 tools/memory-model: Fix ISA2+pooncelock+pooncelock+pombonce name
> aa838e0b70e1 MAINTAINERS: Add Daniel Lustig as an LKMM reviewer
> 3cb0d7701c4c locking/memory-barriers.txt/kokr: Update Korean translation to fix broken DMA vs. MMIO ordering example
> 0bde941f3629 tools/memory-model: Remove ACCESS_ONCE() from recipes
> 80b7b05c3aa0 tools/memory-model: Remove ACCESS_ONCE() from model
>
> The above patches are ready for the upcoming merge window because
> each has at least one Acked-by or Reviewed-by.
>
> 6098ce88bc4d tools/memory-model: Make scripts executable

In this commit, "Usage:" in the header of scripts/checklitmus.sh should
also be updated.

When it is fixed,

Acked-by: Akira Yokosawa <[email protected]>

Thanks, Akira

> 5bb22d0126f9 tools/memory-model: Rename litmus tests to comply to norm7
> 1bc179880fba docs: atomic_ops: Describe atomic_set as a write operation
>
> The above patches need at least one additional Acked-by
> or Reviewed-by. If any of you gets a chance, please do
> look them over.
>
> 51b0a8985c5a EXP tools/memory-model: Add litmus-test naming scheme
>
> This patch needs me to get Will Deacon's feedback applied. :-/
>
> 06e99a0d9662 EXP tools/memory-model: Add .cfg and .cat files for s390
>
> This is a placeholder, and probably won't ever go upstream
> into the Linux kernel. (Maybe someday into herd where the
> other architecture-specific .cat files live.)
>
> Thanx, Paul
>
>> Cheers,
>> Andrea
>>
>>
>>>
>>> tools/memory-model/Documentation/recipes.txt | 4 ++--
>>> tools/memory-model/linux-kernel.bell | 2 +-
>>> 2 files changed, 3 insertions(+), 3 deletions(-)
>>>
>>> --
>>> 2.11.0
>>>
>>
>


2018-06-29 06:46:55

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [PATCH 0/2] tools/memory-model: remove ACCESS_ONCE()

On Fri, Jun 29, 2018 at 07:22:22AM +0900, Akira Yokosawa wrote:
> On 2018/06/28 08:21:40 -0700, Paul E. McKenney wrote:
> [...]
> >
> > While I am at it, here is the current scorecard:
> >
> > e9ff68680cd4 tools/memory-model: Add litmus test for full multicopy atomicity
> > c21fcc6594f1 tools/memory-model: Fix ISA2+pooncelock+pooncelock+pombonce name
> > aa838e0b70e1 MAINTAINERS: Add Daniel Lustig as an LKMM reviewer
> > 3cb0d7701c4c locking/memory-barriers.txt/kokr: Update Korean translation to fix broken DMA vs. MMIO ordering example
> > 0bde941f3629 tools/memory-model: Remove ACCESS_ONCE() from recipes
> > 80b7b05c3aa0 tools/memory-model: Remove ACCESS_ONCE() from model
> >
> > The above patches are ready for the upcoming merge window because
> > each has at least one Acked-by or Reviewed-by.
> >
> > 6098ce88bc4d tools/memory-model: Make scripts executable
>
> In this commit, "Usage:" in the header of scripts/checklitmus.sh should
> also be updated.
>
> When it is fixed,
>
> Acked-by: Akira Yokosawa <[email protected]>

Done, applied, and thank you!

Thanx, Paul

> Thanks, Akira
>
> > 5bb22d0126f9 tools/memory-model: Rename litmus tests to comply to norm7
> > 1bc179880fba docs: atomic_ops: Describe atomic_set as a write operation
> >
> > The above patches need at least one additional Acked-by
> > or Reviewed-by. If any of you gets a chance, please do
> > look them over.
> >
> > 51b0a8985c5a EXP tools/memory-model: Add litmus-test naming scheme
> >
> > This patch needs me to get Will Deacon's feedback applied. :-/
> >
> > 06e99a0d9662 EXP tools/memory-model: Add .cfg and .cat files for s390
> >
> > This is a placeholder, and probably won't ever go upstream
> > into the Linux kernel. (Maybe someday into herd where the
> > other architecture-specific .cat files live.)
> >
> > Thanx, Paul
> >
> >> Cheers,
> >> Andrea
> >>
> >>
> >>>
> >>> tools/memory-model/Documentation/recipes.txt | 4 ++--
> >>> tools/memory-model/linux-kernel.bell | 2 +-
> >>> 2 files changed, 3 insertions(+), 3 deletions(-)
> >>>
> >>> --
> >>> 2.11.0
> >>>
> >>
> >
>


2018-07-02 18:53:13

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [PATCH 0/2] tools/memory-model: remove ACCESS_ONCE()

On Thu, Jun 28, 2018 at 06:51:11PM +0200, Andrea Parri wrote:
> > 1bc179880fba docs: atomic_ops: Describe atomic_set as a write operation
> >
> > The above patches need at least one additional Acked-by
> > or Reviewed-by. If any of you gets a chance, please do
> > look them over.
>
> Glad this came out. ;-)
>
> No objection to the patch: feel free to add my Reviewed-by: tag.

Done, thank you!

> (BTW, atomic_set() would be better mapped to WRITE_ONCE()... in fact, to
> be fair, some archs do it the __asm__ __volatile__() way).
>
> I do however have some suggestions concerning "the process": searching
> LKML for the patch and the related discussion, I could only find:
>
> [PATCH] docs: atomic_ops: atomic_set is a write (not read) operation
>
> and I realize that none of the person Cc:-ed in this thread, except you,
> were Cc:-ed in that discussion (in compliance with get_maintainer.pl).
>
> My suggestions:
>
> 1) Merge the file touched by that patch into (the recently created):
>
> Documentation/atomic_t.txt
>
> (FWIW, queued in my TODO list).

Some consolidation of documentation would be good. ;-)

Thoughts from others?

> 2) Add the entry:
>
> F: Documentation/atomic_t.txt
>
> to the "ATOMIC INFRASTRUCTURE" subsystem in the MAINTAINERS file so
> that developers can easily find (the intended?) reviewers for their
> patch. (Of course, this will need ACK from the ATOMIC people).

If the merging will take awhile, it might also be good to put
Documentation/core-api/atomic_ops.rst somewhere as well.

Thanx, Paul


2018-07-03 10:13:43

by Andrea Parri

[permalink] [raw]
Subject: Re: [PATCH 0/2] tools/memory-model: remove ACCESS_ONCE()

> > 1) Merge the file touched by that patch into (the recently created):
> >
> > Documentation/atomic_t.txt
> >
> > (FWIW, queued in my TODO list).
>
> Some consolidation of documentation would be good. ;-)
>
> Thoughts from others?
>
> > 2) Add the entry:
> >
> > F: Documentation/atomic_t.txt
> >
> > to the "ATOMIC INFRASTRUCTURE" subsystem in the MAINTAINERS file so
> > that developers can easily find (the intended?) reviewers for their
> > patch. (Of course, this will need ACK from the ATOMIC people).
>
> If the merging will take awhile, it might also be good to put
> Documentation/core-api/atomic_ops.rst somewhere as well.

Indeed. And let's not forget the "orphaned":

Documentation/atomic_bitops.txt
Documentation/core-api/refcount-vs-atomic.rst

;-)

Andrea

2018-07-03 15:52:38

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [PATCH 0/2] tools/memory-model: remove ACCESS_ONCE()

On Tue, Jul 03, 2018 at 12:12:41PM +0200, Andrea Parri wrote:
> > > 1) Merge the file touched by that patch into (the recently created):
> > >
> > > Documentation/atomic_t.txt
> > >
> > > (FWIW, queued in my TODO list).
> >
> > Some consolidation of documentation would be good. ;-)
> >
> > Thoughts from others?
> >
> > > 2) Add the entry:
> > >
> > > F: Documentation/atomic_t.txt
> > >
> > > to the "ATOMIC INFRASTRUCTURE" subsystem in the MAINTAINERS file so
> > > that developers can easily find (the intended?) reviewers for their
> > > patch. (Of course, this will need ACK from the ATOMIC people).
> >
> > If the merging will take awhile, it might also be good to put
> > Documentation/core-api/atomic_ops.rst somewhere as well.
>
> Indeed. And let's not forget the "orphaned":
>
> Documentation/atomic_bitops.txt
> Documentation/core-api/refcount-vs-atomic.rst

Lots of puppies to adopt, aren't there? ;-)

I could make the argument that these files are part of the documentation
for the Linux kernel's memory model, and that they should therefore be
added to the LKMM MAINTAINERS entry. Any objections? (Adding David
Miller in his capacity of author of atomic_ops.txt.)

Separately, it might be good to make sure that the linux-arch folks are
aware of proposed changes to the memory model. To that end, would it
make sense to add the linux-arch mailing list to that same entry?

Thanx, Paul

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

commit 33a58ee5eadadfb1f4850eabd4fac332984881d5
Author: Paul E. McKenney <[email protected]>
Date: Tue Jul 3 08:48:09 2018 -0700

tools/memory-model: Add informal LKMM documentation to MAINTAINERS

The Linux-kernel memory model has been informal, with a number of
text files documenting it. It would be good to make sure that these
informal descriptions are kept up to date and/or pruned appropriately.
This commit therefore brings more of those text files into the LKMM
MAINTAINERS file entry.

Signed-off-by: Paul E. McKenney <[email protected]>
Cc: Alan Stern <[email protected]>
Cc: Andrea Parri <[email protected]>
Cc: Will Deacon <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Boqun Feng <[email protected]>
Cc: Nicholas Piggin <[email protected]>
Cc: David Howells <[email protected]>
Cc: Jade Alglave <[email protected]>
Cc: Luc Maranget <[email protected]>
Cc: Akira Yokosawa <[email protected]>
Cc: Daniel Lustig <[email protected]>
Cc: "David S. Miller" <[email protected]>

diff --git a/MAINTAINERS b/MAINTAINERS
index f2903b818671..2ba947fc9a2f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -8321,6 +8321,10 @@ L: [email protected]
S: Supported
T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
F: tools/memory-model/
+F: Documentation/atomic_bitops.txt
+F: Documentation/atomic_t.txt
+F: Documentation/core-api/atomic_ops.rst
+F: Documentation/core-api/refcount-vs-atomic.rst
F: Documentation/memory-barriers.txt

LINUX SECURITY MODULE (LSM) FRAMEWORK


2018-07-03 17:24:46

by Andrea Parri

[permalink] [raw]
Subject: Re: [PATCH 0/2] tools/memory-model: remove ACCESS_ONCE()

> commit 33a58ee5eadadfb1f4850eabd4fac332984881d5
> Author: Paul E. McKenney <[email protected]>
> Date: Tue Jul 3 08:48:09 2018 -0700
>
> tools/memory-model: Add informal LKMM documentation to MAINTAINERS
>
> The Linux-kernel memory model has been informal, with a number of
> text files documenting it. It would be good to make sure that these
> informal descriptions are kept up to date and/or pruned appropriately.
> This commit therefore brings more of those text files into the LKMM
> MAINTAINERS file entry.
>
> Signed-off-by: Paul E. McKenney <[email protected]>
> Cc: Alan Stern <[email protected]>
> Cc: Andrea Parri <[email protected]>
> Cc: Will Deacon <[email protected]>
> Cc: Peter Zijlstra <[email protected]>
> Cc: Boqun Feng <[email protected]>
> Cc: Nicholas Piggin <[email protected]>
> Cc: David Howells <[email protected]>
> Cc: Jade Alglave <[email protected]>
> Cc: Luc Maranget <[email protected]>
> Cc: Akira Yokosawa <[email protected]>
> Cc: Daniel Lustig <[email protected]>
> Cc: "David S. Miller" <[email protected]>

With the disclaimer that I'm not (yet) familiar with reST,

Acked-by: Andrea Parri <[email protected]>

Adding the linux-arch ML, as you suggested, would also make sense to me.

Thanks,
Andrea


>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index f2903b818671..2ba947fc9a2f 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -8321,6 +8321,10 @@ L: [email protected]
> S: Supported
> T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
> F: tools/memory-model/
> +F: Documentation/atomic_bitops.txt
> +F: Documentation/atomic_t.txt
> +F: Documentation/core-api/atomic_ops.rst
> +F: Documentation/core-api/refcount-vs-atomic.rst
> F: Documentation/memory-barriers.txt
>
> LINUX SECURITY MODULE (LSM) FRAMEWORK
>

2018-07-06 14:55:12

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [PATCH 0/2] tools/memory-model: remove ACCESS_ONCE()

On Tue, Jul 03, 2018 at 07:23:42PM +0200, Andrea Parri wrote:
> > commit 33a58ee5eadadfb1f4850eabd4fac332984881d5
> > Author: Paul E. McKenney <[email protected]>
> > Date: Tue Jul 3 08:48:09 2018 -0700
> >
> > tools/memory-model: Add informal LKMM documentation to MAINTAINERS
> >
> > The Linux-kernel memory model has been informal, with a number of
> > text files documenting it. It would be good to make sure that these
> > informal descriptions are kept up to date and/or pruned appropriately.
> > This commit therefore brings more of those text files into the LKMM
> > MAINTAINERS file entry.
> >
> > Signed-off-by: Paul E. McKenney <[email protected]>
> > Cc: Alan Stern <[email protected]>
> > Cc: Andrea Parri <[email protected]>
> > Cc: Will Deacon <[email protected]>
> > Cc: Peter Zijlstra <[email protected]>
> > Cc: Boqun Feng <[email protected]>
> > Cc: Nicholas Piggin <[email protected]>
> > Cc: David Howells <[email protected]>
> > Cc: Jade Alglave <[email protected]>
> > Cc: Luc Maranget <[email protected]>
> > Cc: Akira Yokosawa <[email protected]>
> > Cc: Daniel Lustig <[email protected]>
> > Cc: "David S. Miller" <[email protected]>
>
> With the disclaimer that I'm not (yet) familiar with reST,
>
> Acked-by: Andrea Parri <[email protected]>
>
> Adding the linux-arch ML, as you suggested, would also make sense to me.

Very good, thank you! I have a --squash commit in -rcu to add your ack
and also [email protected].

Thanx, Paul

> Thanks,
> Andrea
>
>
> >
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index f2903b818671..2ba947fc9a2f 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -8321,6 +8321,10 @@ L: [email protected]
> > S: Supported
> > T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
> > F: tools/memory-model/
> > +F: Documentation/atomic_bitops.txt
> > +F: Documentation/atomic_t.txt
> > +F: Documentation/core-api/atomic_ops.rst
> > +F: Documentation/core-api/refcount-vs-atomic.rst
> > F: Documentation/memory-barriers.txt
> >
> > LINUX SECURITY MODULE (LSM) FRAMEWORK
> >
>


2018-07-07 00:17:32

by Paul E. McKenney

[permalink] [raw]
Subject: LKMM patch scorecard for v4.19 merge window

Hello!

Here is the updated scorecard:

e9ff68680cd4 tools/memory-model: Add litmus test for full multicopy atomicity
c21fcc6594f1 tools/memory-model: Fix ISA2+pooncelock+pooncelock+pombonce name
2f5a1b9b74a2 MAINTAINERS: Add Daniel Lustig as an LKMM reviewer
e1c071fab8e1 locking/memory-barriers.txt/kokr: Update Korean translation to fix broken DMA vs. MMIO ordering example
b95546bdac98 tools/memory-model: Remove ACCESS_ONCE() from recipes
a1e5fd06bb6b tools/memory-model: Remove ACCESS_ONCE() from model
a54df4f2be14 tools/memory-model: Make scripts executable
c6b04f78bf25 docs: atomic_ops: Describe atomic_set as a write operation
36853a86cf04 tools/memory-model: Add informal LKMM documentation to MAINTAINERS
950ba9d5bb8f sched: Use smp_mb() in wake_woken_function()
c7af75d2ba8b locking: Clarify requirements for smp_mb__after_spinlock()
bc8209732066 doc: Update wake_up() & co. memory-barrier guarantees

All of these are ready for the upcoming merge window,
thanks everyone!

473fd6e42ddc tools/memory-model: Rename litmus tests to comply to norm7

This one still needs an ack.

820d0072320d EXP tools/memory-model: Add litmus-test naming scheme

This one still requires me to apply feedback.

a713319eb9c5 EXP tools/memory-model: Add .cfg and .cat files for s390

This one is a not-for-mainline placeholder.

Thanx, Paul

On Thu, Jun 28, 2018 at 08:05:24PM -0700, Paul E. McKenney wrote:
> On Fri, Jun 29, 2018 at 07:22:22AM +0900, Akira Yokosawa wrote:
> > On 2018/06/28 08:21:40 -0700, Paul E. McKenney wrote:
> > [...]
> > >
> > > While I am at it, here is the current scorecard:
> > >
> > > e9ff68680cd4 tools/memory-model: Add litmus test for full multicopy atomicity
> > > c21fcc6594f1 tools/memory-model: Fix ISA2+pooncelock+pooncelock+pombonce name
> > > aa838e0b70e1 MAINTAINERS: Add Daniel Lustig as an LKMM reviewer
> > > 3cb0d7701c4c locking/memory-barriers.txt/kokr: Update Korean translation to fix broken DMA vs. MMIO ordering example
> > > 0bde941f3629 tools/memory-model: Remove ACCESS_ONCE() from recipes
> > > 80b7b05c3aa0 tools/memory-model: Remove ACCESS_ONCE() from model
> > >
> > > The above patches are ready for the upcoming merge window because
> > > each has at least one Acked-by or Reviewed-by.
> > >
> > > 6098ce88bc4d tools/memory-model: Make scripts executable
> >
> > In this commit, "Usage:" in the header of scripts/checklitmus.sh should
> > also be updated.
> >
> > When it is fixed,
> >
> > Acked-by: Akira Yokosawa <[email protected]>
>
> Done, applied, and thank you!
>
> Thanx, Paul
>
> > Thanks, Akira
> >
> > > 5bb22d0126f9 tools/memory-model: Rename litmus tests to comply to norm7
> > > 1bc179880fba docs: atomic_ops: Describe atomic_set as a write operation
> > >
> > > The above patches need at least one additional Acked-by
> > > or Reviewed-by. If any of you gets a chance, please do
> > > look them over.
> > >
> > > 51b0a8985c5a EXP tools/memory-model: Add litmus-test naming scheme
> > >
> > > This patch needs me to get Will Deacon's feedback applied. :-/
> > >
> > > 06e99a0d9662 EXP tools/memory-model: Add .cfg and .cat files for s390
> > >
> > > This is a placeholder, and probably won't ever go upstream
> > > into the Linux kernel. (Maybe someday into herd where the
> > > other architecture-specific .cat files live.)
> > >
> > > Thanx, Paul
> > >
> > >> Cheers,
> > >> Andrea
> > >>
> > >>
> > >>>
> > >>> tools/memory-model/Documentation/recipes.txt | 4 ++--
> > >>> tools/memory-model/linux-kernel.bell | 2 +-
> > >>> 2 files changed, 3 insertions(+), 3 deletions(-)
> > >>>
> > >>> --
> > >>> 2.11.0
> > >>>
> > >>
> > >
> >


2018-07-09 18:42:43

by Alan Stern

[permalink] [raw]
Subject: Re: LKMM patch scorecard for v4.19 merge window

On Fri, 6 Jul 2018, Paul E. McKenney wrote:

> Hello!
>
> Here is the updated scorecard:
>
> e9ff68680cd4 tools/memory-model: Add litmus test for full multicopy atomicity
> c21fcc6594f1 tools/memory-model: Fix ISA2+pooncelock+pooncelock+pombonce name
> 2f5a1b9b74a2 MAINTAINERS: Add Daniel Lustig as an LKMM reviewer
> e1c071fab8e1 locking/memory-barriers.txt/kokr: Update Korean translation to fix broken DMA vs. MMIO ordering example
> b95546bdac98 tools/memory-model: Remove ACCESS_ONCE() from recipes
> a1e5fd06bb6b tools/memory-model: Remove ACCESS_ONCE() from model
> a54df4f2be14 tools/memory-model: Make scripts executable
> c6b04f78bf25 docs: atomic_ops: Describe atomic_set as a write operation
> 36853a86cf04 tools/memory-model: Add informal LKMM documentation to MAINTAINERS
> 950ba9d5bb8f sched: Use smp_mb() in wake_woken_function()
> c7af75d2ba8b locking: Clarify requirements for smp_mb__after_spinlock()
> bc8209732066 doc: Update wake_up() & co. memory-barrier guarantees
>
> All of these are ready for the upcoming merge window,
> thanks everyone!
>
> 473fd6e42ddc tools/memory-model: Rename litmus tests to comply to norm7
>
> This one still needs an ack.

I have audited this patch.

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

Alan


2018-07-09 23:00:22

by Paul E. McKenney

[permalink] [raw]
Subject: Re: LKMM patch scorecard for v4.19 merge window

On Mon, Jul 09, 2018 at 02:18:53PM -0400, Alan Stern wrote:
> On Fri, 6 Jul 2018, Paul E. McKenney wrote:
>
> > Hello!
> >
> > Here is the updated scorecard:
> >
> > e9ff68680cd4 tools/memory-model: Add litmus test for full multicopy atomicity
> > c21fcc6594f1 tools/memory-model: Fix ISA2+pooncelock+pooncelock+pombonce name
> > 2f5a1b9b74a2 MAINTAINERS: Add Daniel Lustig as an LKMM reviewer
> > e1c071fab8e1 locking/memory-barriers.txt/kokr: Update Korean translation to fix broken DMA vs. MMIO ordering example
> > b95546bdac98 tools/memory-model: Remove ACCESS_ONCE() from recipes
> > a1e5fd06bb6b tools/memory-model: Remove ACCESS_ONCE() from model
> > a54df4f2be14 tools/memory-model: Make scripts executable
> > c6b04f78bf25 docs: atomic_ops: Describe atomic_set as a write operation
> > 36853a86cf04 tools/memory-model: Add informal LKMM documentation to MAINTAINERS
> > 950ba9d5bb8f sched: Use smp_mb() in wake_woken_function()
> > c7af75d2ba8b locking: Clarify requirements for smp_mb__after_spinlock()
> > bc8209732066 doc: Update wake_up() & co. memory-barrier guarantees
> >
> > All of these are ready for the upcoming merge window,
> > thanks everyone!
> >
> > 473fd6e42ddc tools/memory-model: Rename litmus tests to comply to norm7
> >
> > This one still needs an ack.
>
> I have audited this patch.
>
> Acked-by: Alan Stern <[email protected]>

Thank you, Alan! I will apply this as part of my next rebase and promote
this patch to the queue for the upcoming grace period.

Thanx, Paul


2018-07-10 20:04:19

by Paul E. McKenney

[permalink] [raw]
Subject: Re: LKMM patch scorecard for v4.19 merge window

On Mon, Jul 09, 2018 at 02:18:53PM -0400, Alan Stern wrote:
> On Fri, 6 Jul 2018, Paul E. McKenney wrote:
>
> > Hello!
> >
> > Here is the updated scorecard:
> >
> > e9ff68680cd4 tools/memory-model: Add litmus test for full multicopy atomicity
> > c21fcc6594f1 tools/memory-model: Fix ISA2+pooncelock+pooncelock+pombonce name
> > 2f5a1b9b74a2 MAINTAINERS: Add Daniel Lustig as an LKMM reviewer
> > e1c071fab8e1 locking/memory-barriers.txt/kokr: Update Korean translation to fix broken DMA vs. MMIO ordering example
> > b95546bdac98 tools/memory-model: Remove ACCESS_ONCE() from recipes
> > a1e5fd06bb6b tools/memory-model: Remove ACCESS_ONCE() from model
> > a54df4f2be14 tools/memory-model: Make scripts executable
> > c6b04f78bf25 docs: atomic_ops: Describe atomic_set as a write operation
> > 36853a86cf04 tools/memory-model: Add informal LKMM documentation to MAINTAINERS
> > 950ba9d5bb8f sched: Use smp_mb() in wake_woken_function()
> > c7af75d2ba8b locking: Clarify requirements for smp_mb__after_spinlock()
> > bc8209732066 doc: Update wake_up() & co. memory-barrier guarantees
> >
> > All of these are ready for the upcoming merge window,
> > thanks everyone!
> >
> > 473fd6e42ddc tools/memory-model: Rename litmus tests to comply to norm7
> >
> > This one still needs an ack.
>
> I have audited this patch.
>
> Acked-by: Alan Stern <[email protected]>

Thank you very much! I have added your ack and moved this to the group
to be submitted for the next merge window. I plan to send them off early
next week.

Thanx, Paul