A Linux kernel scheduler that's power-aware and aims for offering power-efficient performance has been published. The developer behind this new Linux scheduler is presently seeking other developer feedback on his set of nine patches.
Morten Rasmussen of ARM is the developer working on a power-aware scheduler and previously he voiced his thoughts about the design at the end of May. Now as of Tuesday, "RFC" patches have been published to implement such a scheduler for power efficiency.
Rasmussen describes it on the kernel mailing list
The patch set introduces a cpu capacity managing 'power scheduler' which lives by the side of the existing (process) scheduler. Its role is to monitor the system load and decide which cpus that should be available to the process scheduler. Long term the power scheduler is intended to replace the currently distributed uncoordinated power management policies and will interface a unified platform specific power driver obtain power topology information and handle idle and P-states. The power driver interface should be made flexible enough to support multiple platforms including Intel and ARM.
This prototype supports very simple task packing and adds cpufreq wrapper governor that allows the power scheduler to drive P-state selection. The prototype policy is absolutely untuned, but this will be addressed in the future. Scalability improvements, such as avoid iterating over all cpus, will also be addressed in the future.
This work in its current form just comes down to a little over 500 lines of new code. There's still more work ahead before the scheduler is in a good state and a candidate for merging, but with the backing of ARM, hopefully it will come to fruition soon enough.