Getting More Out Of System Suspend In Linux
System suspend is one of the most mature and widely used power management techniques in Linux. At the same time the kernel's system suspend infrastructure is susceptible to inadvertent errors, so major changes in that code are relatively rare and applied with caution. However, that conservative approach has caused system suspend to gradually fall behind with meeting the expectations of modern systems' users. It has turned out recently that it needs to be faster, integrated more tightly with runtime PM, more careful about avoiding unnecessary operations and capable of handling systems with more advanced PM support in hardware in better ways. As a result, several efforts are under way to improve system suspend in Linux and make it even more useful. I will discuss those efforts, describe the improvements that have been achieved already and outline possible directions of future development.
Rafael is the maintainer of the Linux kernel's core ACPI and power management code, including the core infrastructure for runtime PM, system suspend and hibernation, cpuidle and cpufreq. He works at Intel Open Source Technology Center as a Software Engineer with focus on the Linux kernel. Rafael has been actively contributing to Linux since January 2005, in particular to the kernel's suspend and hibernate subsystem, power management in general (runtime PM, PM QoS, wakeup framework etc.), hot-plug infrastructure, ACPI core and PCI core. Rafael received an MSc from the University of Warsaw, Faculty of Physics, in 1996 and a PhD from that faculty in 2002.