Re: hibernation/snapshot design

Jeremy Maitin-Shepard
2007-07-09T15:23:24Z

Pavel Machek <pavel@ucw.cz> writes:

[snip]

>> why do you say that neither would work for the "lets hibernate my
>> notebook" case?

> Both would work. One would eat 8-64MB of your RAM, permanently;

As I have stated in other messages, the kdump approach would not waste
any RAM permanently. The reason that kdump must reserve memory at boot
is that on panic, it cannot attempt to nicely stop drivers, and
consequently there might be ongoing DMAs that could clobber anything but
the reserved area; this reason does not apply to hibernate, though.
I'll quote a previous message in which I stated a solution that can be
used:

Immediately before jumping to the new kernel, the first X bytes (where X
is the amount of memory the new kernel will get, typically 16MB or 64MB)
of physical memory are backed up into the arbitrary discontiguous pages
that are made available. This will not take very long, because copying
even 64MB of memory is extremely fast. Then the new kernel is free to
use the first X bytes of contiguous physical memory. Problem solved.

--
Jeremy Maitin-Shepard