[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20171011173423.GO3521@linux.vnet.ibm.com>
Date: Wed, 11 Oct 2017 10:34:23 -0700
From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: David Howells <dhowells@...hat.com>,
Will Deacon <will.deacon@....com>,
linux-kernel@...r.kernel.org, mingo@...nel.org,
torvalds@...ux-foundation.org, mark.rutland@....com,
linux-arch@...r.kernel.org, Jonathan Corbet <corbet@....net>,
Alexander Kuleshov <kuleshovmail@...il.com>, dvyukov@...gle.com
Subject: Re: [PATCH RFC tip/core/rcu 12/15] lib/assoc_array: Remove
smp_read_barrier_depends()
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
Powered by blists - more mailing lists