From patchwork Mon Oct 9 18:28:37 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Rutland X-Patchwork-Id: 115280 Delivered-To: patch@linaro.org Received: by 10.140.22.163 with SMTP id 32csp2862117qgn; Mon, 9 Oct 2017 11:30:35 -0700 (PDT) X-Google-Smtp-Source: AOwi7QDI6w40Foq9Wz3cygiBArKy5QDoVfZ6jyUbWbGlI54UMKTTbaRt4Ytzd5TNsjGXgFeUmle7 X-Received: by 10.98.112.68 with SMTP id l65mr10888533pfc.292.1507573834921; Mon, 09 Oct 2017 11:30:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1507573834; cv=none; d=google.com; s=arc-20160816; b=ejL7IwyGryo80C2ILL1nMIWJSS7lDxdCopURaucnFhSiFJG0z0klsGYIlW4gXuJaWx r082ZlEVY3FC2os0kCkCyn4rEuzuDexTzD/megUZ7qgQku+pC3FWLWFwbpVKgVNAIDzd JZYqsd1R/ZJviDaWpayKOkTphXFSXZa+6hQMncGqAuUp2QtsYq/o9PTdrYiJk47ycubn zJpBVxwmcF1BaL/zDbwK+JFT/yUtGg3a4kMGLtVWJSGg7SgDzO2MmC1Q9iAa2BdlATAh AL2uhrIVnatir+ePAPBkZ2PzKNj6H5r67+WG5ZnCrdi+XHx0atQXXTp+tjKBeWtDFGIi PYyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=2uAmlwyS2nqTkIdbNdE+6MPTphCtJTiRGqxOpRhmJVc=; b=jcWsJXxAVfqjvjROKY9bs7dAwUlPEXCPsOdfXVZQRty2gS4IcItC+8yS9rW0dnluv3 8EGaOw38FqlKw5tzldX4NwVMnDJ5+mHVAHNxkSX/G7z3VpG2327RoffU6a/PdE6BaZAX W2T0WMxDDcqjMkUJBKnxM8AVM+ym20zok9ywlxxJyKAKob/GgZ/Zrir7xHX+5YbrpjIp UK6B5oPD6W4+qvG91y1xNpjRD6zV19/Un8mc634dD1dn3CKsr2PMFVelaQHmQ73oRneZ qXW5hPV3oRqq4K05VrBOuNKfaXTgpqi2+qXFAqvbUoMRR9pdN22ZUqicus/I1DFNm8d1 KKjQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m1si3121764plb.48.2017.10.09.11.30.34; Mon, 09 Oct 2017 11:30:34 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755085AbdJISac (ORCPT + 26 others); 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 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E068D1529; Mon, 9 Oct 2017 11:30:30 -0700 (PDT) Received: from leverpostej.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.72.51.249]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id A00C73F483; Mon, 9 Oct 2017 11:30:26 -0700 (PDT) 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 Precedence: bulk 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