From: Will Deacon <will.deacon@arm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: paulmck@linux.vnet.ibm.com, kirill.shutemov@linux.intel.com,
linux-kernel@vger.kernel.org, ynorov@caviumnetworks.com,
rruigrok@codeaurora.org, linux-arch@vger.kernel.org,
akpm@linux-foundation.org, catalin.marinas@arm.com
Subject: Re: [RFC PATCH 1/2] arm64: mm: Use READ_ONCE/WRITE_ONCE when accessing page tables
Date: Thu, 28 Sep 2017 09:45:35 +0100 [thread overview]
Message-ID: <20170928084535.GA19060@arm.com> (raw)
In-Reply-To: <20170928083801.m6rb4frbbgzgam2o@hirez.programming.kicks-ass.net>
On Thu, Sep 28, 2017 at 10:38:01AM +0200, Peter Zijlstra wrote:
> On Wed, Sep 27, 2017 at 04:49:28PM +0100, Will Deacon wrote:
> > In many cases, page tables can be accessed concurrently by either another
> > CPU (due to things like fast gup) or by the hardware page table walker
> > itself, which may set access/dirty bits. In such cases, it is important
> > to use READ_ONCE/WRITE_ONCE when accessing page table entries so that
> > entries cannot be torn, merged or subject to apparent loss of coherence.
>
> In fact, we should use lockless_dereference() for many of them. Yes
> Alpha is the only one that cares about the difference between that and
> READ_ONCE() and they do have the extra barrier, but if we're going to do
> this, we might as well do it 'right' :-)
I know this sounds daft, but I think one of the big reasons why
lockless_dereference() doesn't get an awful lot of use is because it's
such a mouthful! Why don't we just move the smp_read_barrier_depends()
into READ_ONCE? Would anybody actually care about the potential impact on
Alpha (which, frankly, is treading on thin ice given the low adoption of
lockless_dereference())?
> Also, a very long standing item on my TODO list is to see how much of it
> we can unify across the various architectures, because there's a giant
> amount of boiler plate involved with all this.
Yeah, I'd be happy to help with that as a separate series. I already tripped
over 5 or 6 page table walkers in arch/arm64/ alone :(
Will
next prev parent reply other threads:[~2017-09-28 8:45 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-27 15:49 [RFC PATCH 0/2] Missing READ_ONCE in core and arch-specific pgtable code leading to crashes Will Deacon
2017-09-27 15:49 ` [RFC PATCH 1/2] arm64: mm: Use READ_ONCE/WRITE_ONCE when accessing page tables Will Deacon
2017-09-28 8:38 ` Peter Zijlstra
2017-09-28 8:45 ` Will Deacon [this message]
2017-09-28 15:43 ` Paul E. McKenney
2017-09-28 15:49 ` Will Deacon
2017-09-28 16:07 ` Paul E. McKenney
2017-09-28 18:59 ` Michael Cree
2017-09-29 0:58 ` Paul E. McKenney
2017-09-29 9:08 ` Will Deacon
2017-09-29 16:29 ` Paul E. McKenney
2017-09-29 16:33 ` Will Deacon
2017-10-03 19:11 ` Paul E. McKenney
2017-10-05 16:31 ` Will Deacon
2017-10-05 16:31 ` Will Deacon
2017-10-05 16:31 ` Will Deacon
2017-10-05 19:22 ` Paul E. McKenney
2017-10-05 19:31 ` Andrea Parri
2017-10-05 20:09 ` Paul E. McKenney
2017-09-28 19:18 ` Timur Tabi
2017-09-27 15:49 ` [RFC PATCH 2/2] mm: page_vma_mapped: Ensure pmd is loaded with READ_ONCE outside of lock Will Deacon
2017-09-27 22:01 ` [RFC PATCH 0/2] Missing READ_ONCE in core and arch-specific pgtable code leading to crashes Yury Norov
2017-09-28 17:30 ` Richard Ruigrok
2017-09-28 19:38 ` Jon Masters
2017-09-29 8:56 ` Will Deacon
2017-10-03 6:36 ` Jon Masters
2017-10-05 16:54 ` Will Deacon
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=20170928084535.GA19060@arm.com \
--to=will.deacon@arm.com \
--cc=akpm@linux-foundation.org \
--cc=catalin.marinas@arm.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=rruigrok@codeaurora.org \
--cc=ynorov@caviumnetworks.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.