Re: swsusp status report

From: Andi Kleen
Date: Wed Jul 26 2006 - 11:11:01 EST


"Rafael J. Wysocki" <rjw@xxxxxxx> writes:
>
> The code that restores the memory state from the suspend image in step
> (11) also uses the kernel identity mapping to address memory, so it cannot
> access highmem pages on i386, but it practically has no other limitations as
> far as the image size is concerned. In other words, it would be possible to
> restore suspend images as big as 80% or even 90% of RAM, or the normal zone
> on i386, if the 'snapshotting' code were able to create them.

Why can't you just kmap or ioremap them as needed and pass the pfns/struct
page * for IO?

> The code that performs steps (5) and (11) of the suspend-resume cycle is
> quite robust and there is only one known problem with it, which seems to
> be x86_64-specific. Namely, on x86_64 machines with more than 2 GB of RAM
> there are memory gaps and/or reserved memory areas between the 2nd and 3rd
> Gbyte of physical memory and swsusp tries to save these areas as though
> they were RAM which leads to oopses. This issue is now being worked on.

I guess we could just borrow a new struct page flags bit again and set it
during memory setup. That would fix your problem I guess. Should be fairly
easy to do. Let me know if you need it.

-Andi
-
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/