On Mon, Feb 15, 2016 at 10:47 PM, Rafael J. Wysocki <[email protected]> wrote: > From: Rafael J. Wysocki <[email protected]> > > Introduce a mechanism by which parts of the cpufreq subsystem > ("setpolicy" drivers or the core) can register callbacks to be > executed from cpufreq_update_util() which is invoked by the > scheduler's update_load_avg() on CPU utilization changes. > > This allows the "setpolicy" drivers to dispense with their timers > and do all of the computations they need and frequency/voltage > adjustments in the update_load_avg() code path, among other things. > > The update_load_avg() changes were suggested by Peter Zijlstra. > > Signed-off-by: Rafael J. Wysocki <[email protected]> > Acked-by: Viresh Kumar <[email protected]> > --- > > Changes from v9: > - Move the additional RT/DL hooks back to update_curr_rt/dl() (Peter says > that's OK), but only call them if updating the current CPU's rq, update > the cpufreq_trigger_update() kerneldoc. > > Changes from v8: > - Peter thinks that cpufreq hooks in update_curr_rt/dl() are overkill so > move them to task_tick_rt/dl() and enqueue_task_rt/dl() (in case RT/DL > tasks are only active between ticks), update the cpufreq_trigger_update() > kerneldoc. > > Changes from v7 > - cpufreq_trigger_update() has a kerneldoc describing it as a band-aid to > be replaced in the future and the comments next to its call sites ask > the reader to see that comment. > > No functional changes. > > Changes from v6: > - Steve suggested to use rq_clock() instead of rq_clock_task() as the time > argument for cpufreq_update_util() as that seems to be more suitable for > this purpose. > > --- > drivers/cpufreq/cpufreq.c | 45 > +++++++++++++++++++++++++++++++++++++++++++++ > include/linux/cpufreq.h | 34 ++++++++++++++++++++++++++++++++++ > kernel/sched/deadline.c | 4 ++++ > kernel/sched/fair.c | 26 +++++++++++++++++++++++++- > kernel/sched/rt.c | 4 ++++ > kernel/sched/sched.h | 1 + > 6 files changed, 113 insertions(+), 1 deletion(-)
So if anyone has any issues with this one, please let me know. It has been in linux-next for a few days and seems to be doing well. As I said previously, there is a metric ton of cpufreq improvements depending on it, so I'd rather not delay integrating it any more. Thanks, Rafael

