Re: Hibernation Redesign
From: Al Boldi
Date: Mon Jul 09 2007 - 11:31:59 EST
Pavel Machek wrote:
> > >>from a *new* kernel space/user space that is created by loading a new
> > >>kernel in a manner similar to what is done for kexec crashdumps.
> > >> Unlike kexec crashdumps, however, it would not require reserving any
> > >> memory at boot, because the necessary memory (maybe 16MB or 64MB) can
> > >> be freed just before hibernating, and device drivers can be properly
> > >> stopped so that DMAs don't stomp over certain memory.
Interesting proposition, which may actually work. Thanks!
> > >This is the Morton method, isn't it? :) I remember it sounding like a
> > >very good idea when he brought it up, but I can't remember the details
> > >of why it was rejected or what the problems were.
> >
> > Hmm, and it seems like I won't get to know without reliving what
> > looks like an epic flamewar starting.... here:
> >
> > http://thread.gmane.org/gmane.linux.kernel/374889
> >
> > However from a quick look it seems like the only reason is the RAM
> > overhead of a reserve area. It seems unfortunate that it was
> > dismissed so quickly because of that problem (which could be
> > improved).
>
> Well, the kexec thingy should be able to hibernate a machine, but it
> will not be "software-suspend" any more, and it may be quite a lot of
> work to get it going.
>
> In the end, you'll get rid of freezer problems, but will have two
> kernels to care about, and certainly more conventional design. I do
> not think I have time to try that (and don't think freezer problems
> are _that_ bad in the first place), but some interested soul could
> certainly try it.
Who said we need two kernels? You could inline it like Xen, which would give
you one kernel with two modes: normal and hibernate.
Thanks!
--
Al
-
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/