From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752374AbdJKReb (ORCPT ); Wed, 11 Oct 2017 13:34:31 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:39372 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751642AbdJKRe3 (ORCPT ); Wed, 11 Oct 2017 13:34:29 -0400 Date: Wed, 11 Oct 2017 10:34:23 -0700 From: "Paul E. McKenney" To: Peter Zijlstra Cc: David Howells , Will Deacon , linux-kernel@vger.kernel.org, mingo@kernel.org, torvalds@linux-foundation.org, mark.rutland@arm.com, linux-arch@vger.kernel.org, Jonathan Corbet , Alexander Kuleshov , dvyukov@google.com Subject: Re: [PATCH RFC tip/core/rcu 12/15] lib/assoc_array: Remove smp_read_barrier_depends() Reply-To: paulmck@linux.vnet.ibm.com References: <8079.1507628146@warthog.procyon.org.uk> <26455.1507724399@warthog.procyon.org.uk> <6309.1507735045@warthog.procyon.org.uk> <20171011155948.GE3521@linux.vnet.ibm.com> <20171011161220.zqkdhynxerrcmvdd@hirez.programming.kicks-ass.net> <20171011162412.o6lmjiag7spwabge@hirez.programming.kicks-ass.net> <20171011164748.GK3521@linux.vnet.ibm.com> <20171011165405.xd4xfa2x3dcz4e57@hirez.programming.kicks-ass.net> <20171011170631.GN3521@linux.vnet.ibm.com> <20171011171137.bb2evetsnk2qtdhc@hirez.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20171011171137.bb2evetsnk2qtdhc@hirez.programming.kicks-ass.net> User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-GCONF: 00 x-cbid: 17101117-0044-0000-0000-0000039E1CF5 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00007878; HX=3.00000241; KW=3.00000007; PH=3.00000004; SC=3.00000236; SDB=6.00929681; UDB=6.00467935; IPR=6.00709952; BA=6.00005634; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00017492; XFM=3.00000015; UTC=2017-10-11 17:34:26 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17101117-0045-0000-0000-000007CD1EAC Message-Id: <20171011173423.GO3521@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-10-11_06:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1707230000 definitions=main-1710110245 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Oct 11, 2017 at 07:11:37PM +0200, Peter Zijlstra wrote: > On Wed, Oct 11, 2017 at 10:06:31AM -0700, Paul E. McKenney wrote: > > > This, you mean? > > > > data = rcu_dereference_sched(*this_cpu_ptr(&cpufreq_update_util_data)); > > Yep, that one. Although in my tree it now appears to look like: > > data = rcu_dereference_sched(*per_cpu_ptr(&cpufreq_update_util_data, > cpu_of(rq))); So in the non-RCU case, we could simply replace rcu_dereference_sched() with ACCESS_ONCE(), right? Thus no need to change the per-CPU primitives. Especially given that most uses of per-CPU variables don't even need protection from load/store tearing, let alone protection from Alpha. Or am I missing something subtle here? Thanx, Paul