Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753463AbcKTMLx (ORCPT ); Sun, 20 Nov 2016 07:11:53 -0500 Received: from foss.arm.com ([217.140.101.70]:44826 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752580AbcKTMLw (ORCPT ); Sun, 20 Nov 2016 07:11:52 -0500 Date: Sun, 20 Nov 2016 12:11:38 +0000 From: Mark Rutland To: Greg KH Cc: Davidlohr Bueso , linux-kernel@vger.kernel.org, Davidlohr Bueso , dvyukov@google.com, peterz@infradead.org, paulmck@linux.vnet.ibm.com Subject: Re: [PATCH] drivers/usb: use READ_ONCE instead of deprecated ACCESS_ONCE Message-ID: <20161120121006.GA24592@remoulade> References: <1479585265-7906-1-git-send-email-dave@stgolabs.net> <20161120093932.GA21152@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20161120093932.GA21152@kroah.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1244 Lines: 28 On Sun, Nov 20, 2016 at 10:39:32AM +0100, Greg KH wrote: > On Sat, Nov 19, 2016 at 11:54:25AM -0800, Davidlohr Bueso wrote: > > With the new standardized functions, we can replace all ACCESS_ONCE() > > calls across relevant drivers/usb/. > > > > ACCESS_ONCE() does not work reliably on non-scalar types. For example > > gcc 4.6 and 4.7 might remove the volatile tag for such accesses during > > the SRA (scalar replacement of aggregates) step: > If this is the case, why not just replacing the define for ACCESS_ONCE() > with READ_ONCE() and then go back and just do a search/replace for the > whole kernel all at once? > > Or just send Linus a patch for this all at once after -rc1 is out? FWIW, I have a Coccinelle-generated patch for that [1]. ... there are a few cases where it doesn't quite work (e.g. formatting in the ath9k mac drivers), and I'm trying to put together a series [2] that fixes those cases up before leaving the bulk to Coccinelle. I hope to sort that out in the next few days. Thanks, Mark. [1] https://git.kernel.org/cgit/linux/kernel/git/mark/linux.git/commit/?h=core/access-once&id=7154d3cd5f2ddcc029d1afadc472c5720408d678 [2] https://git.kernel.org/cgit/linux/kernel/git/mark/linux.git/log/?h=core/access-once