From: Mark Rutland <mark.rutland@arm.com>
To: Michael Ellerman <mpe@ellerman.id.au>
Cc: linux-kernel@vger.kernel.org,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>, Shuah Khan <shuah@kernel.org>
Subject: Re: [PATCH 11/13] selftests/powerpc: kill off ACCESS_ONCE()
Date: Tue, 10 Oct 2017 10:32:18 +0100 [thread overview]
Message-ID: <20171010093218.GD27659@leverpostej> (raw)
In-Reply-To: <87mv4zygof.fsf@concordia.ellerman.id.au>
On Tue, Oct 10, 2017 at 11:45:04AM +1100, Michael Ellerman wrote:
> Mark Rutland <mark.rutland@arm.com> writes:
>
> > For several reasons, it is desirable to use {READ,WRITE}_ONCE() in
> > preference to ACCESS_ONCE(), and new code is expected to use one of the
> > former. So far, there's been no reason to change most existing uses of
> > ACCESS_ONCE(), as these aren't currently harmful.
> >
> > However, for some features it is necessary to instrument reads and
> > writes separately, which is not possible with ACCESS_ONCE(). This
> > distinction is critical to correct operation.
> >
> > The bulk of the kernel code can be transformed via Coccinelle to use
> > {READ,WRITE}_ONCE(), though this only modifies users of ACCESS_ONCE(),
> > and not the implementation itself. As such, it has the potential to
> > break homebrew ACCESS_ONCE() macros seen in some user code in the kernel
> > tree (e.g. the virtio code, as fixed in commit ea9156fb3b71d9f7).
> >
> > To avoid fragility if/when that transformation occurs, and to align with
> > the preferred usage of {READ,WRITE}_ONCE(), this patch updates the DSCR
> > selftest code to use READ_ONCE() rather than ACCESS_ONCE(). There should
> > be no functional change as a result of this patch.
> >
> > Signed-off-by: Mark Rutland <mark.rutland@arm.com>
> > Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> > Cc: Michael Ellerman <mpe@ellerman.id.au>
> > Cc: Paul Mackerras <paulus@samba.org>
> > Cc: Shuah Khan <shuah@kernel.org>
> > ---
> > tools/testing/selftests/powerpc/dscr/dscr.h | 2 +-
> > tools/testing/selftests/powerpc/dscr/dscr_default_test.c | 2 +-
> > 2 files changed, 2 insertions(+), 2 deletions(-)
>
> Acked-by: Michael Ellerman <mpe@ellerman.id.au>
Thanks!
Mark.
next prev parent reply other threads:[~2017-10-10 9:33 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-09 18:28 [PATCH 00/13] Preparatory work to kill off ACCESS_ONCE() Mark Rutland
2017-10-09 18:28 ` [PATCH 01/13] dm integrity: " Mark Rutland
2017-10-09 18:28 ` [PATCH 02/13] EDAC, altera: " Mark Rutland
2017-10-09 23:12 ` Thor Thayer
2017-10-10 9:30 ` Mark Rutland
2017-10-09 18:28 ` [PATCH 03/13] firmware/ivc: " Mark Rutland
2017-10-09 18:28 ` [PATCH 04/13] fs: dcache: " Mark Rutland
2017-10-09 18:28 ` [PATCH 05/13] fs: ncpfs: " Mark Rutland
2017-10-09 18:28 ` [PATCH 06/13] media: dvb_ringbuffer: " Mark Rutland
2017-10-09 18:28 ` [PATCH 07/13] net: netlink/netfilter: " Mark Rutland
2017-10-09 18:28 ` [PATCH 08/13] net/ipv4/tcp_input.c: " Mark Rutland
2017-10-09 19:03 ` Mark Rutland
2017-10-09 18:28 ` [PATCH 09/13] net: average: " Mark Rutland
2017-10-10 9:28 ` Mark Rutland
2017-10-09 18:28 ` [PATCH 10/13] samples: mic/mpssd/mpssd.c: " Mark Rutland
2017-10-09 18:28 ` [PATCH 11/13] selftests/powerpc: " Mark Rutland
2017-10-10 0:45 ` Michael Ellerman
2017-10-10 9:32 ` Mark Rutland [this message]
2017-10-09 18:28 ` [PATCH 12/13] workqueue: " Mark Rutland
2017-10-10 14:06 ` Tejun Heo
2017-10-10 16:21 ` Mark Rutland
2017-10-09 18:28 ` [PATCH 13/13] rcutorture: formal: prepare for ACCESS_ONCE() removal Mark Rutland
2017-10-09 19:51 ` Paul E. McKenney
2017-10-10 9:54 ` Mark Rutland
2017-10-10 12:47 ` Paul E. McKenney
2017-10-10 12:50 ` Mark Rutland
2017-10-10 14:52 ` Paul E. McKenney
2017-10-10 16:24 ` Mark Rutland
2017-10-10 16:35 ` Paul E. McKenney
2017-10-10 16:27 ` Joe Perches
2017-10-10 16:35 ` Paul E. McKenney
2017-10-10 16:41 ` Mark Rutland
2017-10-10 16:57 ` Joe Perches
2017-10-10 17:06 ` Mark Rutland
2017-10-09 20:02 ` [PATCH 00/13] Preparatory work to kill off ACCESS_ONCE() 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=20171010093218.GD27659@leverpostej \
--to=mark.rutland@arm.com \
--cc=benh@kernel.crashing.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mpe@ellerman.id.au \
--cc=paulus@samba.org \
--cc=shuah@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox