[PATCH] powerpc: Fix sparsemem with memory holes [was Re: ppc64 oops..]
authorPaul Mackerras <paulus@samba.org>
Wed, 16 Nov 2005 00:43:26 +0000 (11:43 +1100)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 16 Nov 2005 00:57:12 +0000 (16:57 -0800)
commitfb6d73d3014babb69f5cc2d1d78b31e9d09fc5df
tree9d8ee68b8754fc57948098945113871aee0b23bb
parent1e185b97b4364063f1135604b87f8d8469944233
[PATCH] powerpc: Fix sparsemem with memory holes [was Re: ppc64 oops..]

This patch should fix the crashes we have been seeing on 64-bit
powerpc systems with a memory hole when sparsemem is enabled.
I'd appreciate it if people who know more about NUMA and sparsemem
than me could look over it.

There were two bugs.  The first was that if NUMA was enabled but there
was no NUMA information for the machine, the setup_nonnuma() function
was adding a single region, assuming memory was contiguous.  The
second was that the loops in mem_init() and show_mem() assumed that
all pages within the span of a pgdat were valid (had a valid struct
page).

I also fixed the incorrect setting of num_physpages that Mike Kravetz
pointed out.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/powerpc/mm/mem.c
arch/powerpc/mm/numa.c