From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755082AbdJISac (ORCPT ); Mon, 9 Oct 2017 14:30:32 -0400 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:33694 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754195AbdJISab (ORCPT ); Mon, 9 Oct 2017 14:30:31 -0400 From: Mark Rutland To: linux-kernel@vger.kernel.org Cc: Mark Rutland , Davidlohr Bueso , Peter Zijlstra , Will Deacon , 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 Message-Id: <1507573730-8083-1-git-send-email-mark.rutland@arm.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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