sched: scheduler-driven cpu frequency selection
Scheduler-driven cpu frequency selection is desirable as part of the on-going effort to make the scheduler better aware of energy consumption. No piece of the Linux kernel has a better view of the factors that affect a cpu frequency selection policy than the scheduler[0], and this patch is an attempt to converge on an initial solution. This patch implements a simple shim layer between the Linux scheduler and the cpufreq subsystem. This interface accepts a capacity request from the Completely Fair Scheduler and honors the max request from all cpus in the same frequency domain. The policy magic comes from choosing the cpu capacity request from cfs and is not contained in this cpufreq governor. This code is intentionally dumb. Note that this "governor" is event-driven. There is no polling loop to check cpu idle time nor any other method which is unsynchronized with the scheduler. Thanks to Juri Lelli <juri.lelli@arm.com> for contributing design ideas, code and test results. [0] http://article.gmane.org/gmane.linux.kernel/1499836 Signed-off-by:Michael Turquette <mturquette@baylibre.com> Signed-off-by:
Juri Lelli <juri.lelli@arm.com>
Loading
Please register or sign in to comment