On Tue, Mar 1, 2016 at 1:57 PM, Peter Zijlstra <pet...@infradead.org> wrote: > On Sat, Feb 27, 2016 at 01:08:02AM +0100, Rafael J. Wysocki wrote: >> @@ -95,18 +98,20 @@ EXPORT_SYMBOL_GPL(cpufreq_set_update_uti >> * >> * This function is called by the scheduler on every invocation of >> * update_load_avg() on the CPU whose utilization is being updated. >> + * >> + * It can only be called from RCU-sched read-side critical sections. >> */ >> void cpufreq_update_util(u64 time, unsigned long util, unsigned long max) >> { >> struct update_util_data *data; >> >> - rcu_read_lock(); >> - > > Maybe, just because I'm paranoid, add something like: > > #ifdef CONFIG_LOCKDEP > WARN_ON(debug_locks && !rcu_read_lock_sched_held()); > #endif
OK