A New Governor Continues To Be Worked On For Linux Kernel's CPUFreq

Schedutil is this new CPUFreq governor being worked on. Schedutil makes use of the redesigned code for the Linux 4.6 kernel in being able to use callbacks invoked by the kernel's scheduler in place of timers and making use of the kernel's CPU utilization information from the schedule.
The schedutil governor for CPUFreq is described as "uses scheduler-provided CPU utilization information as input for making its decisions...In particular, CPU frequency scaling decisions may be based on the the utilization data passed to cpufreq_update_util() by CFS. The new governor is relatively simple...The governor supports fast frequency switching if that is supported by the cpufreq driver in use and possible for the given policy. In the fast switching case, all operations of the governor take place in its utilization update handlers...The governor shares some tunables management code with the 'ondemand' and 'conservative' governors and uses some common definitions from cpufreq_governor.h, but apart from that it is stand-alone."
The patch series also adds support for fast frequency switching to the CPUFreq driver. "Modify the ACPI cpufreq driver to provide a method for switching CPU frequencies from interrupt context and update the cpufreq core to support that method if available."
More details can be found on the schedutil v4 work via this patch series. The current code is just in a review state and thus is unlikely to be ready for the Linux 4.6 kernel merge window happening right now (ACPI/PM already sent in its pull request this week, but Rafael in the past has sent in up to two feature pulls during the merge windows of some past cycles) so chances are CPUFreq Schedutil will not land until Linux 4.7+.
10 Comments