The Future of Power Management in Linux
Rafael J. Wysocki
Thursday 2:15 p.m.–3 p.m.
Target audience: Developer
Power management has been an important part of Linux kernel development for the last several years. Support for many important power management features, such as system suspend and hibernation, CPU idle states management, CPU frequency management, runtime power management of I/O devices and more, has been added to the kernel during that time. However, there still are challenges facing the Linux power management developers. The first challenge is that the majority of power management features available in the kernel today were developed in isolation and while they work reasonably well individually, they may not play so well with each other. At the same time, hardware design trends lead to more and more integration and there is a clear need for the Linux power management features to work more closely together too. For this reason, there have been efforts to integrate runtime PM of I/O devices with system suspend and hibernation for some time. There also is work in progress on integrating CPU power management with the CPU scheduler. All of that work will likely continue into the future. Further challenges are related to new types of hardware that become available, like persistent memory. Traditional power management features, like system suspend and hibernation, will have to be rethought and modified in response to that and some other changes will likely become necessary in the power management area. There also are challenges coming from new display technologies and networking that require relatively high power to be allocated to the transmission of data alone putting the other components of the system under power pressure and causing them to be effectively underutilized. Similar problems appear when system are thermally challenged or when their power supplies are not capable of supporting all of the system components at full capacity at the same time. All of this means that the future of power management in Linux will certainly be interesting. We have many interesting problems to solve and quite a lot of work to do, but hopefully power management in Linux will work really well going forward.
Rafael maintains the Linux kernel's core ACPI and power management code, including the core infrastructure for IO device PM, CPU PM and system suspend/hibernation. He works at Intel Open Source Technology Center as a Software Engineer focusing on the mainline Linux kernel. Rafael has been actively contributing to Linux since 2005, in particular to the kernel's power management subsystems (system suspend/hibernation, device runtime PM framework, PM QoS, cpufreq, cpuidle), hot-plug infrastructure, ACPI core and PCI core, and has been maintaining Linux kernel subsystems since 2009. In addition to his kernel work, Rafael created a user space hibernation utility called s2disk. Before joining Intel in 2012, Rafael worked as a computer programming teacher in a secondary school, as an IT support specialist and finally as a Senior Lecturer at the University of Warsaw (2006-2012). He also was running an IT support business of his own and worked as a consultant for Renesas Electronics and the Linux distribution provider SUSE. Rafael holds a PhD in Physics from the University of Warsaw, Poland (2002).