All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: linux-kernel@vger.kernel.org
Cc: Mark Rutland <mark.rutland@arm.com>,
	Davidlohr Bueso <dave@stgolabs.net>,
	Peter Zijlstra <peterz@infradead.org>,
	Will Deacon <will.deacon@arm.com>,
	akpm@linux-foundation.org, benh@kernel.crashing.org,
	bp@alien8.de, davem@davemloft.net, fw@strlen.de,
	jiangshanlai@gmail.com, johannes.berg@intel.com,
	jonathanh@nvidia.com, kadlec@blackhole.kfki.hu,
	mchehab@kernel.org, mpe@ellerman.id.au, pablo@netfilter.org,
	paulmck@linux.vnet.ibm.com, paulus@samba.org,
	petr@vandrovec.name, sakari.ailus@linux.intel.com,
	shuah@kernel.org, snitzer@redhat.com, thierry.reding@gmail.com,
	thor.thayer@linux.intel.com, tj@kernel.org,
	viro@zeniv.linux.org.uk
Subject: [PATCH 00/13] Preparatory work to kill off ACCESS_ONCE()
Date: Mon,  9 Oct 2017 19:28:37 +0100	[thread overview]
Message-ID: <1507573730-8083-1-git-send-email-mark.rutland@arm.com> (raw)

Hi all,

There's a general want to kill off ACCESS_ONCE(), which is required to kill off
smp_read_barrier_depends(), and to support debug features which require
instrumenting reads and writes separately.

Thanks to preparatory work by a number of people, it's largely possible to
script this with the Coccinelle patch below. However, this breaks a handful of
cases, and renders some comments stale.

This series fixes up said cases, and comments. Where fixups have been made,
I've converted the entire file for consistency. The remaining code can be
converted by Coccinelle script, allowing for the subsequent removal of
ACCESS_ONCE().

I've pushed this series, complete with an example treewide conversion of
v4.14-rc4 to my core/access-once branch [1,2].

Thanks,
Mark.

[1] git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git core/access-once
[2] https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git/commit/?h=core/access-once

----
// Convert trivial ACCESS_ONCE() uses to equivalent READ_ONCE() and
// WRITE_ONCE()

virtual patch

@ depends on patch @
expression E1, E2;
@@

- ACCESS_ONCE(E1) = E2
+ WRITE_ONCE(E1, E2)

@ depends on patch @
expression E;
@@

- ACCESS_ONCE(E)
+ READ_ONCE(E)
*** BLURB HERE ***
----

Mark Rutland (13):
  dm integrity: kill off ACCESS_ONCE()
  EDAC, altera: kill off ACCESS_ONCE()
  firmware/ivc: kill off ACCESS_ONCE()
  fs: dcache: kill off ACCESS_ONCE()
  fs: ncpfs: kill off ACCESS_ONCE()
  media: dvb_ringbuffer: kill off ACCESS_ONCE()
  net: netlink/netfilter: kill off ACCESS_ONCE()
  net/ipv4/tcp_input.c: kill off ACCESS_ONCE()
  net: average: kill off ACCESS_ONCE()
  samples: mic/mpssd/mpssd.c: kill off ACCESS_ONCE()
  selftests/powerpc: kill off ACCESS_ONCE()
  workqueue: kill off ACCESS_ONCE()
  rcutorture: formal: prepare for ACCESS_ONCE() removal

 drivers/edac/altera_edac.c                         | 10 ++++-----
 drivers/firmware/tegra/ivc.c                       | 24 +++++++++++-----------
 drivers/md/dm-integrity.c                          | 15 +++++++-------
 drivers/media/dvb-core/dvb_ringbuffer.c            |  8 ++++----
 fs/dcache.c                                        | 18 ++++++++--------
 fs/ncpfs/dir.c                                     |  9 --------
 include/linux/average.h                            | 10 ++++++---
 include/linux/dcache.h                             |  4 ++--
 include/linux/genetlink.h                          |  2 +-
 include/linux/netfilter/nfnetlink.h                |  2 +-
 include/linux/rtnetlink.h                          |  2 +-
 include/net/netfilter/nf_tables.h                  |  4 ++--
 kernel/workqueue.c                                 |  4 ++--
 net/ipv4/tcp_input.c                               |  6 +++---
 net/netfilter/ipvs/ip_vs_sync.c                    |  2 +-
 net/netfilter/nfnetlink_queue.c                    |  4 ++--
 samples/mic/mpssd/mpssd.c                          |  6 +++---
 tools/testing/selftests/powerpc/dscr/dscr.h        |  2 +-
 .../selftests/powerpc/dscr/dscr_default_test.c     |  2 +-
 .../rcutorture/formal/srcu-cbmc/src/barriers.h     |  7 ++++---
 20 files changed, 69 insertions(+), 72 deletions(-)

-- 
1.9.1

             reply	other threads:[~2017-10-09 18:30 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-09 18:28 Mark Rutland [this message]
2017-10-09 18:28 ` [PATCH 01/13] dm integrity: kill off ACCESS_ONCE() 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
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                 ` [Ksummit-discuss] " Joe Perches
2017-10-10 16:57                   ` Joe Perches
2017-10-10 17:06                   ` [Ksummit-discuss] " Mark Rutland
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=1507573730-8083-1-git-send-email-mark.rutland@arm.com \
    --to=mark.rutland@arm.com \
    --cc=akpm@linux-foundation.org \
    --cc=benh@kernel.crashing.org \
    --cc=bp@alien8.de \
    --cc=dave@stgolabs.net \
    --cc=davem@davemloft.net \
    --cc=fw@strlen.de \
    --cc=jiangshanlai@gmail.com \
    --cc=johannes.berg@intel.com \
    --cc=jonathanh@nvidia.com \
    --cc=kadlec@blackhole.kfki.hu \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=mpe@ellerman.id.au \
    --cc=pablo@netfilter.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=paulus@samba.org \
    --cc=peterz@infradead.org \
    --cc=petr@vandrovec.name \
    --cc=sakari.ailus@linux.intel.com \
    --cc=shuah@kernel.org \
    --cc=snitzer@redhat.com \
    --cc=thierry.reding@gmail.com \
    --cc=thor.thayer@linux.intel.com \
    --cc=tj@kernel.org \
    --cc=viro@zeniv.linux.org.uk \
    --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.