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