[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