x86, NUMA: Make 32bit use common NUMA init path
authorTejun Heo <tj@kernel.org>
Mon, 2 May 2011 15:24:48 +0000 (17:24 +0200)
committerTejun Heo <tj@kernel.org>
Mon, 2 May 2011 15:24:48 +0000 (17:24 +0200)
commitbd6709a91a593d8fe35d08da542e9f93bb74a304
treea7e24844eaee2113bfb61e6fa6d990c01ed5ec64
parent7888e96b264fad27f97f58c0f3a4d20326eaf181
x86, NUMA: Make 32bit use common NUMA init path

With both _numa_init() methods converted and the rest of init code
adjusted, numa_32.c now can switch from the 32bit only init code to
the common one in numa.c.

* Shim get_memcfg_*()'s are dropped and initmem_init() calls
  x86_numa_init(), which is updated to handle NUMAQ.

* All boilerplate operations including node range limiting, pgdat
  alloc/init are handled by numa_init().  32bit only implementation is
  removed.

* 32bit numa_add_memblk(), numa_set_distance() and
  memory_add_physaddr_to_nid() removed and common versions in
  numa_32.c enabled for 32bit.

This change causes the following behavior changes.

* NODE_DATA()->node_start_pfn/node_spanned_pages properly initialized
  for 32bit too.

* Much more sanity checks and configuration cleanups.

* Proper handling of node distances.

* The same NUMA init messages as 64bit.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
arch/x86/include/asm/topology.h
arch/x86/mm/numa.c
arch/x86/mm/numa_32.c