[RFC][PATCH 1/2 -mm] kexec based hibernation -v3: kexec jump
jfannin at gmail.com
Wed Sep 26 16:30:36 EDT 2007
On Fri, Sep 21, 2007 at 11:45:12AM +0200, Pavel Machek wrote:
> > >
> > > Sounds doable, as long as you can cope with long command lines (which
> > > shouldn't be a biggie). (If you've got a swapfile or parts of a swap
> > > partition already in use, it can be quite fragmented).
> > Hmm. This is an interesting problem. Sharing a swap file or a swap
> > partition with the actual swap of user space pages does seem to be
> > a limitation of this approach.
> > Although the fact that it is simple to write to a separate file may
> > be a reasonable compensation.
> I'm not sure how you'd write it to a separate file. Notice that kjump
> kernel may not mount journalling filesystems, not even
> read-only. (Ext3 replays journal in that case). You could pass block
> numbers from the original kernel...
The ext3 thing is a bug, the case for which I don't think has been
adequately explained to the ext folks. There should be at least a
no_replay mount flag available, or something. It has ramifications
for more than just hibernation.
And yeah, I'm gonna bring up the swap files thing again. If you
can hibernate to a swap file, you can hibernate to a dedicated
hibernation file, and vice versa.
If you can't hibernate to a swap file, then swap files are
effectively unsupported for any system you might want to hibernate.
<handwave> I wonder what embedded folks would think about that
But, in my ignorance, I'm not sure even fixing the ext3 bug will
guarantee you consistent metadata so that you can handle a
swap/hibernate file. You can do a sync(), but how do you make that
not race against running processes without the freezer, or blkdev
I guess uswsusp and the-patch-previously-known-as-suspend2 handle
this somehow, though.
(It's that same ignorance that has me waiting for someone with
established credit with kernel people to make that argument for the
ext3 bug, so I can hang my own reasons for thinking that it's bad off
jfannin at gmail.com
More information about the kexec