[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191108185051.GA20975@paulmck-ThinkPad-P72>
Date: Fri, 8 Nov 2019 10:50:51 -0800
From: "Paul E. McKenney" <paulmck@...nel.org>
To: Will Deacon <will@...nel.org>
Cc: linux-kernel@...r.kernel.org, Yunjae Lee <lyj7694@...il.com>,
SeongJae Park <sj38.park@...il.com>,
Josh Triplett <josh@...htriplett.org>,
Matt Turner <mattst88@...il.com>,
Ivan Kokshaysky <ink@...assic.park.msu.ru>,
Richard Henderson <rth@...ddle.net>,
Peter Zijlstra <peterz@...radead.org>,
Alan Stern <stern@...land.harvard.edu>,
Michael Ellerman <mpe@...erman.id.au>,
"Michael S. Tsirkin" <mst@...hat.com>,
Jason Wang <jasowang@...hat.com>,
Arnd Bergmann <arnd@...db.de>, Joe Perches <joe@...ches.com>,
Boqun Feng <boqun.feng@...il.com>, linux-alpha@...r.kernel.org,
virtualization@...ts.linux-foundation.org
Subject: Re: [PATCH 00/13] Finish off [smp_]read_barrier_depends()
On Fri, Nov 08, 2019 at 05:01:07PM +0000, Will Deacon wrote:
> Hi all,
>
> Although [smp_]read_barrier_depends() became part of READ_ONCE() in
> commit 76ebbe78f739 ("locking/barriers: Add implicit
> smp_read_barrier_depends() to READ_ONCE()"), it still limps on in the
> Linux memory model with the sinister hope of attracting innocent new
> users so that it becomes impossible to remove altogether.
>
> Let's strike before it's too late: there's only one user outside of
> arch/alpha/ and that lives in the vhost code which I don't think you
> can actually compile for Alpha. Even if you could, it appears to be
> redundant. The rest of these patches remove any mention of the barrier
> from Documentation and comments, as well as removing its use from the
> Alpha backend and finally dropping it from the memory model completely.
>
> After this series, there are still two places where it is mentioned:
>
> 1. The Korean translation of memory-barriers.txt. I'd appreciate some
> help fixing this because it's not entirely a straightforward
> deletion.
>
> 2. The virtio vring tests under tools/. This is userspace code so I'm
> not too fussed about it.
>
> There's a chunk of header reshuffling at the start of the series so that
> READ_ONCE() can sensibly be overridden by arch code.
>
> Feedback welcome.
For the series:
Acked-by: Paul E. McKenney <paulmck@...nel.org>
> Cheers,
>
> Will
>
> Cc: Yunjae Lee <lyj7694@...il.com>
> Cc: SeongJae Park <sj38.park@...il.com>
> Cc: "Paul E. McKenney" <paulmck@...nel.org>
> Cc: Josh Triplett <josh@...htriplett.org>
> Cc: Matt Turner <mattst88@...il.com>
> Cc: Ivan Kokshaysky <ink@...assic.park.msu.ru>
> Cc: Richard Henderson <rth@...ddle.net>
> Cc: Peter Zijlstra <peterz@...radead.org>
> Cc: Alan Stern <stern@...land.harvard.edu>
> Cc: Michael Ellerman <mpe@...erman.id.au>
> Cc: "Michael S. Tsirkin" <mst@...hat.com>
> Cc: Jason Wang <jasowang@...hat.com>
> Cc: Arnd Bergmann <arnd@...db.de>
> Cc: Joe Perches <joe@...ches.com>
> Cc: Boqun Feng <boqun.feng@...il.com>
> Cc: linux-alpha@...r.kernel.org
> Cc: virtualization@...ts.linux-foundation.org
>
> --->8
>
> Will Deacon (13):
> compiler.h: Split {READ,WRITE}_ONCE definitions out into rwonce.h
> READ_ONCE: Undefine internal __READ_ONCE_SIZE macro after use
> READ_ONCE: Allow __READ_ONCE_SIZE cases to be overridden by the
> architecture
> vhost: Remove redundant use of read_barrier_depends() barrier
> alpha: Override READ_ONCE() with barriered implementation
> READ_ONCE: Remove smp_read_barrier_depends() invocation
> alpha: Replace smp_read_barrier_depends() usage with smp_[r]mb()
> locking/barriers: Remove definitions for [smp_]read_barrier_depends()
> Documentation/barriers: Remove references to
> [smp_]read_barrier_depends()
> tools/memory-model: Remove smp_read_barrier_depends() from informal
> doc
> powerpc: Remove comment about read_barrier_depends()
> include/linux: Remove smp_read_barrier_depends() from comments
> checkpatch: Remove checks relating to [smp_]read_barrier_depends()
>
> .../RCU/Design/Requirements/Requirements.html | 11 +-
> Documentation/memory-barriers.txt | 156 +-----------------
> arch/alpha/include/asm/atomic.h | 16 +-
> arch/alpha/include/asm/barrier.h | 61 +------
> arch/alpha/include/asm/pgtable.h | 10 +-
> arch/alpha/include/asm/rwonce.h | 22 +++
> arch/powerpc/include/asm/barrier.h | 2 -
> drivers/vhost/vhost.c | 5 -
> include/asm-generic/Kbuild | 1 +
> include/asm-generic/barrier.h | 17 --
> include/asm-generic/rwonce.h | 131 +++++++++++++++
> include/linux/compiler.h | 114 +------------
> include/linux/compiler_attributes.h | 12 ++
> include/linux/percpu-refcount.h | 2 +-
> include/linux/ptr_ring.h | 2 +-
> mm/memory.c | 2 +-
> scripts/checkpatch.pl | 9 +-
> .../Documentation/explanation.txt | 26 ++-
> 18 files changed, 217 insertions(+), 382 deletions(-)
> create mode 100644 arch/alpha/include/asm/rwonce.h
> create mode 100644 include/asm-generic/rwonce.h
>
> --
> 2.24.0.rc1.363.gb1bccd3e3d-goog
>
Powered by blists - more mailing lists