Advances in CPU Idle Time Management in Linux
As one of the primary power management features, CPU idle time management has been implemented in the Linux kernel for several years.
It works as expected most of the time, but it had turned out to be problematic in certain situations. Problem reports regarding them triggered a major update of the core CPU idle time management code in the kernel that led to significant reduction of idle power on some systems among other improvements. I will explain the high-level design of the CPU idle time management code in Linux, the problem with it that was the source of the observed symptoms and how it was addressed during the 4.17 kernel development cycle. I also will show test results demonstrating the achieved improvements and I will discuss some possible future improvements in the area in question.
Rafael J. Wysocki
Rafael maintains the Linux kernel’s power management infrastructure and the core ACPI support code. He works at Intel Open Source Technology Center and focuses on the mainline Linux kernel development. He has been actively contributing to Linux since 2005, in particular to the kernel’s suspend/hibernate subsystem, power management in general (IO runtime PM framework, CPUFreq, CPUIdle, PM QoS, wakeup framework etc.), hot-plug infrastructure, ACPI support core, PCI support core and more. Before joining Intel he worked at the University of Warsaw as a lecturer and IT specialist, he was a Linux and IT consultant and he ran a business of his own. Rafael holds a PhD in Physics from the University of Warsaw.