diff options
author | Tejun Heo <tj@kernel.org> | 2011-05-02 14:18:52 +0200 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2011-05-02 14:18:52 +0200 |
commit | 797390d8554b1e07aabea37d0140933b0412dba0 (patch) | |
tree | 81ec97a19bcd03de733a73fea8c88a84b64044ad /arch/x86/mm/init_32.c | |
parent | 84914ed0ec6787d38e84b510f92ad4ca3a572fd8 (diff) | |
download | linux-stable-797390d8554b1e07aabea37d0140933b0412dba0.tar.gz linux-stable-797390d8554b1e07aabea37d0140933b0412dba0.tar.bz2 linux-stable-797390d8554b1e07aabea37d0140933b0412dba0.zip |
x86-32, NUMA: use sparse_memory_present_with_active_regions()
Instead of calling memory_present() for each region from NUMA init,
call sparse_memory_present_with_active_regions() from paging_init()
similarly to x86-64.
For flat and numaq, this results in exactly the same memory_present()
calls. For srat, if there are multiple memory chunks for a node,
after this change, memory_present() will be called separately for each
chunk instead of being called once to encompass the whole range, which
doesn't cause any harm and actually is the better behavior.
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>
Diffstat (limited to 'arch/x86/mm/init_32.c')
-rw-r--r-- | arch/x86/mm/init_32.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c index 80088f994193..2cde0a34bed6 100644 --- a/arch/x86/mm/init_32.c +++ b/arch/x86/mm/init_32.c @@ -716,6 +716,7 @@ void __init paging_init(void) * NOTE: at this point the bootmem allocator is fully available. */ olpc_dt_build_devicetree(); + sparse_memory_present_with_active_regions(MAX_NUMNODES); sparse_init(); zone_sizes_init(); } |