diff options
author | Mike Travis <travis@sgi.com> | 2008-04-04 21:11:09 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-19 13:44:58 -0400 |
commit | f46bdf2db25dfaff3b611c9711705645cdb03acc (patch) | |
tree | 18d2de41fdeac8d51ebdac9153999611934ab5ce | |
parent | aa6b54461cc5c0019b9d792adf3176b444c10763 (diff) |
numa: move large array from stack to _initdata section
* Move large array "struct bootnode nodes" from stack to _initdata
section to reduce amount of stack space required.
Cc: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Mike Travis <travis@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | arch/x86/mm/numa_64.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/mm/numa_64.c b/arch/x86/mm/numa_64.c index 2ea56f48f29b..3f6c53c0e003 100644 --- a/arch/x86/mm/numa_64.c +++ b/arch/x86/mm/numa_64.c | |||
@@ -380,9 +380,10 @@ static int __init split_nodes_by_size(struct bootnode *nodes, u64 *addr, | |||
380 | * Sets up the system RAM area from start_pfn to end_pfn according to the | 380 | * Sets up the system RAM area from start_pfn to end_pfn according to the |
381 | * numa=fake command-line option. | 381 | * numa=fake command-line option. |
382 | */ | 382 | */ |
383 | static struct bootnode nodes[MAX_NUMNODES] __initdata; | ||
384 | |||
383 | static int __init numa_emulation(unsigned long start_pfn, unsigned long end_pfn) | 385 | static int __init numa_emulation(unsigned long start_pfn, unsigned long end_pfn) |
384 | { | 386 | { |
385 | struct bootnode nodes[MAX_NUMNODES]; | ||
386 | u64 size, addr = start_pfn << PAGE_SHIFT; | 387 | u64 size, addr = start_pfn << PAGE_SHIFT; |
387 | u64 max_addr = end_pfn << PAGE_SHIFT; | 388 | u64 max_addr = end_pfn << PAGE_SHIFT; |
388 | int num_nodes = 0, num = 0, coeff_flag, coeff = -1, i; | 389 | int num_nodes = 0, num = 0, coeff_flag, coeff = -1, i; |