Linux 4.17 Offers Some Promising Power-Savings Improvements
Of the many improvements to be found in the in-development Linux 4.17 kernel -- nicely summarized in our Linux 4.17 feature overview -- one of the features I've been anxious the most to begin benchmarking has been the reported power management improvements. Here are my initial power/performance tests of Linux 4.17 that for some systems is seeing a measurable drop in power usage, even in some cases under load while without sacrificing the performance.
The most promising power management change in Linux 4.17 is a rework of the kernel's idle loop that may lead to some systems seeing their power drop by up to 10%+.
Intel's Rafael Wysocki who also serves as the Linux PM/ACPI subsystem maintainer explained of the change, "the rework of the idle loop in order to prevent CPUs from spending too much time in shallow idle states. It reduces idle power on some systems by 10% or more and may improve performance of workloads in which the idle loop overhead matters... Making it stop the scheduler tick before putting the CPU into an idle state only if the idle duration predicted by the idle governor is long enough. That required the code to be reordered to invoke the idle governor before stopping the tick, among other things."
This weekend I began running some power tests on different laptops/desktops/servers with Linux 4.17 and indeed the power-savings are apparent on some systems...
I began the weekend work with trying out a Lenovo ThinkPad X1 Carbon with an Intel Core i7 5600U processor... It's a mature Broadwell platform that has been working well under Linux for years. But not exactly a system I would expect years later to have a significant power boost from.
But damn! Simply moving from Linux 4.15/4.16 to Linux 4.17 Git saw the battery power while idling drop significantly! Linux 4.17 led the average battery power use while idling to drop 1.0~1.5 Watts for this mature Intel Broadwell laptop.
Next I proceeded to run some benchmarks while the Lenovo ThinkPad was on battery power and using these three latest kernel series...