Re: [PATCH] Hibernation: Document __save_processor_state() on x86-64

From: Rafael J. Wysocki
Date: Sun Dec 30 2007 - 16:48:57 EST


On Sunday, 30 of December 2007, Ingo Molnar wrote:
>
> * Rafael J. Wysocki <rjw@xxxxxxx> wrote:
>
> > > how different can it be, for resume to work? I mean, we'll have
> > > deeply kernel version dependent variables in RAM. Am i missing
> > > something obvious?
> >
> > On x86-64 it can be almost totally different (by restoring a
> > hibernation image we replace the entire contents of RAM with almost no
> > constraints).
> >
> > [Well, using a relocatable kernel for restoring an image with
> > nonrelocatable one or vice versa is rather not the best idea, but
> > everything else should work in theory.]
> >
> > On i386 the boot kernel is still required to be the same as the one in
> > the image.
>
> what's exactly in the hibernation image? Dirty data i suppose

No, everything, including the kernel code, page tables etc. :-)

> - but what about kernel-internal pages. What if we go from SLAB to SLUB?
> What if the size of a structure changes? Etc.

We can go from SLAB to SLUB just fine, it doesn't matter. The only thing
that matters is we have to jump to the right address at the end of
core_restore_code() (defined in arch/x86/kernel/suspend_asm_64.S).

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/