Messages in this thread | | | Date | Wed, 11 Oct 2017 10:34:23 -0700 | From | "Paul E. McKenney" <> | 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
| |