[linux-pm] Re: [PATCH 3/3 -mm] kexec based hibernation -v6: kexec hibernate/resume
stern at rowland.harvard.edu
Tue Nov 20 09:58:12 EST 2007
On Tue, 20 Nov 2007, Huang, Ying wrote:
> - What is the difference between PMSG_SUSPEND and PMSG_FREEZE?
SUSPEND means that the system is about to go into a low-power state, so
the driver should take the appropriate action to reduce the device's
power consumption. It should also stop all I/O and DMA to the device.
Interrupts can remain enabled if the device is supposed to be a wakeup
source; otherwise they should be disabled.
FREEZE means that the system is going to hibernate, and devices need to
be quiescent (no I/O, no DMA, and no interrupts) so that an atomic
memory snapshot can be captured. The driver should take the
appropriate action to quiesce the device but the power level doesn't
need to change.
PRETHAW means that the system is going to resume from hibernation by
loading a previously-saved memory snapshot. The driver should take the
appropriate action to quiesce the device (no I/O, no DMA, and no
interrupts) so that the snapshot can be safely restored, but the power
level doesn't need to change. The driver may also want to put the
device into a special state so that the saved kernel's resume method
will recognize the device has undergone a hibernation cycle and needs
to be reinitialized.
More information about the kexec