cpufreq: governor: Replace timers with utilization update callbacks
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 10 Feb 2016 15:53:50 +0000 (16:53 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 9 Mar 2016 13:40:53 +0000 (14:40 +0100)
commit9be4fd2c7723a3057b0b39676fe4c8d5fd7118a4
tree22a2bc3fe8bcaba486f16739788d5e1bf3bcfdb7
parenta4675fbc4a7abe072ac6ba38c252f22a91ebcd94
cpufreq: governor: Replace timers with utilization update callbacks

Instead of using a per-CPU deferrable timer for queuing up governor
work items, register a utilization update callback that will be
invoked from the scheduler on utilization changes.

The sampling rate is still the same as what was used for the
deferrable timers and the added irq_work overhead should be offset by
the eliminated timers overhead, so in theory the functional impact of
this patch should not be significant.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Tested-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com>
drivers/cpufreq/Kconfig
drivers/cpufreq/cpufreq_conservative.c
drivers/cpufreq/cpufreq_governor.c
drivers/cpufreq/cpufreq_governor.h
drivers/cpufreq/cpufreq_ondemand.c