Using runtime PM callbacks for system suspend/resume in PM core


One Line Summary

Discussion on a recent proposal to change the PM core so that it can reuse runtime PM callbacks directly for system suspend/resume in some situations.


The integration of the system suspend/resume infrastructure with the runtime PM framework has been a popular topic over the last few years, but there still is quite a lot to do in that area. The problems that have come up most recently are the lack of a sufficiently clean way to reuse runtime PM callbacks for system suspend/resume in some configurations (e.g. if the ACPI PM domain is used) and suboptimal behavior in some cases when devices are already runtime-suspended during system resume and may stay suspended or when devices suspended for system sleep may stay suspended (in runtime suspend) after system wakeup.

The latest idea on how to deal with these issues is to allow drivers to set flags informing the PM core on the driver capabilities and/or preferences and modify the PM core (and possibly middle-layer code) to adjust its behavior in accordance with the driver flags.


Kernel PM Suspend Hibernation Callbacks


  • 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,, LinuxTag, and Ottawa Linux Symposium. He holds a PhD in physics from the University of Warsaw, Poland (2002).