[PATCH] x86_64: Handle empty PXMs that only contain hotplug memory
authorAndi Kleen <ak@suse.de>
Fri, 7 Apr 2006 17:49:21 +0000 (19:49 +0200)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sun, 9 Apr 2006 18:53:16 +0000 (11:53 -0700)
commita8062231d80239cf3405982858c02aea21a6066a
tree0576493fa99cda91069fe3b67c19bd024858e69e
parent68a3a7feb08f960095072f28ec20f7900793c506
[PATCH] x86_64: Handle empty PXMs that only contain hotplug memory

The node setup code would try to allocate the node metadata in the node
itself, but that fails if there is no memory in there.

This can happen with memory hotplug when the hotplug area defines an so
far empty node.

Now use bootmem to try to allocate the mem_map in other nodes.

And if it fails don't panic, but just ignore the node.

To make this work I added a new __alloc_bootmem_nopanic function that
does what its name implies.

TBD should try to use nearby nodes here.  Currently we just use any.
It's hard to do it better because bootmem doesn't have proper fallback
lists yet.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/x86_64/mm/numa.c
arch/x86_64/mm/srat.c
include/linux/bootmem.h
mm/bootmem.c