Re: CONFIG_NUMA breaks hibernation on x86-32 with PAE

From: Pavel Machek
Date: Tue Nov 11 2008 - 07:50:41 EST


On Mon 2008-11-10 19:28:03, Rafael J. Wysocki wrote:
> On Monday, 10 of November 2008, Andi Kleen wrote:
> > Ingo Molnar <mingo@xxxxxxx> writes:
> > >
> > > No good ideas - the bug description gives me the impression of memory
> > > maps save/restore hickup in the hibernation code - and memory maps are
> > > pretty much the only thing that are significantly different on NUMA.
> >
> > I assume the problem happened on a single node system.
> > On single node the memory map should be actually quite similar
> > to the UMA case.
>
> It is. However, the problem is 100% reproducible on any 32-bit single-node
> system with CONFIG_NUMA set, from what I can tell.
>
> It doesn't happen if the kernel is booted with highmem=0, so it looks like
> the code that saves highmem causes the problem to happen. However, this
> same code works well for all of the !CONFIG_NUMA cases and practically only
> the only non-open-coded it uses is kmap_atomic().
>
> > One possibility would be to bisect if it ever worked?
>
> Not sure it did, probably not. :-(

Well, interesting point would be just before this commit:


commit 8357376d3df21b7d6f857931a57ac50da9c66e26
tree daf2c369e9b79d24c1666323b3ae75189e482a4a
parent bf73bae6ba0dc4bd4f1e570feb34a06b72725af6
author Rafael J. Wysocki <rjw@xxxxxxx> Wed, 06 Dec 2006 20:34:18 -0800
committer Linus Torvalds <torvalds@xxxxxxxxxxxxxx> Thu, 07 Dec 2006
08:39:27 -0800

[PATCH] swsusp: Improve handling of highmem

Currently swsusp saves the contents of highmem pages by copying
them to the
normal zone which is quite inefficient (eg. it requires two
normal pages
to be used for saving one highmem page). This may be improved by
using
highmem for saving the contents of saveable highmem pages.

...highmem handling was way simpler in those good old days ;-)
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
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/