Re: Hibernation considerations

From: david
Date: Sun Jul 15 2007 - 19:56:20 EST


On Mon, 16 Jul 2007, Rafael J. Wysocki wrote:

On Monday, 16 July 2007 00:42, david@xxxxxxx wrote:
On Mon, 16 Jul 2007, Rafael J. Wysocki wrote:

On Sunday, 15 July 2007 22:13, david@xxxxxxx wrote:
On Sun, 15 Jul 2007, Rafael J. Wysocki wrote:

The ACPI specification requires us to invoke some global ACPI methods
during the hibernation and during the restore. Moreover, the ordering of
code related to these ACPI methods may not be arbitrary (eg. some of
them have to be executed after devices are put into low power states etc.).

for a pure hibernate mode, you will be powering off the box after saving
the suspend image. why are there any special ACPI modes involved?

Because, for example, on my machine the status of power supply (present
vs not present) is not updated correctly after the restore if ACPI callbacks
aren't used during the hibernation. That's just experience and it's in line
with the ACPI spec.

so if a machine is actually powered off the /dev/suspend process won't
work?

No, it sort of works as usual, but after the restore the platform is not in the
correct state.

this is not hibernate as I and many others are thinking of it.

hibernate as we are thinking would work on basicly any hardware, including things with no ACPI or power savings support. and the system could be in hibernate mode for any time period.

for that matter, after a system is put into hibernate mode the system could be completely disassembled and any components replaced and the system would work after a resume (assuming you still have access to the suspend image)

remember that the system may run a different OS between the hibernate and
the resume, makeing any assumptions about what state the hardware is in
when you start the resume is a problem.

True, that's problematic.

putting it mildly.

David Lang
-
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/