[linux-pm] Re: [PATCH 3/3 -mm] kexec based hibernation -v6: kexec hibernate/resume
Rafael J. Wysocki
rjw at sisk.pl
Tue Nov 20 19:00:35 EST 2007
On Tuesday, 20 of November 2007, Alan Stern wrote:
> 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.
Exactly.
For this reason, PMSG_SUSPEND should be used right before calling
hibernation_ops->enter() .
Greetings,
Rafael
More information about the kexec
mailing list