Re: [linux-pm] Re: [PATCH 3/3 -mm] kexec based hibernation -v6: kexec hibernate/resume

From: Rafael J. Wysocki
Date: Tue Nov 20 2007 - 18:43:17 EST


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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/