Power Management Challenges in Linux

Refereed Presentation
Scheduled: Friday, September 15, 2017 from 2:00 – 2:45pm in Platinum D

One Line Summary

There are still challenges facing Linux power management developers in both system-wide and working-state PM areas.


Support for a number of key power management features, like system suspend and hibernation, CPU idle states management, CPU performance scaling, runtime power management of I/O devices and more, has been added to Linux over the last several years. However, there are still challenges facing Linux power management developers. For example, well-established system suspend code flows have had to be modified quite recently in response to new hardware design trends and the kernel’s system hibernation implementation, which turns out to be missing some desirable features, will need to be rethought with the advent of byte-addressable persistent memory. Moreover, challenges related to dependencies between different system components resulting from ever-increasing hardware integration remain relevant. In the CPU power management area there are novel design ideas, like heterogeneous configurations, and new hardware features, like hardware-managed performance scaling, that need to be addressed at the operating system level. In some cases, there are timing-related limitations, like response time deadlines that cannot be exceeded or sustained throughput requirements that have to be taken into account. In addition to that, problems appear when systems 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 and they often need to be addressed by reducing the capacity of specific parts of the system on demand. All of this means that the future of power management in Linux will certainly be interesting.



Kernel PM Suspend Hibernation cpufreq cpuidle

Presentation Materials



  • Rjw

    Rafael Wysocki

    Intel OTC


    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 with focus on the mainline Linux kernel. 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 core and PCI core. Since 2008 he has participated in multiple Linux Foundation conferences and other Linux-related events, including the Linux Foundation Collaboration Summit, LinuxCon (North America/Japan/Europe), Linux Plumbers Conference, Linux.conf.au, LinuxTag, and Ottawa Linux Symposium. He holds a PhD in physics from the University of Warsaw, Poland (2002).