diff options
author | Mike Travis <travis@sgi.com> | 2008-04-05 05:11:09 +0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-19 21:44:58 +0400 |
commit | f46bdf2db25dfaff3b611c9711705645cdb03acc (patch) | |
tree | 18d2de41fdeac8d51ebdac9153999611934ab5ce /arch/x86 | |
parent | aa6b54461cc5c0019b9d792adf3176b444c10763 (diff) | |
download | linux-f46bdf2db25dfaff3b611c9711705645cdb03acc.tar.xz |
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>
Diffstat (limited to 'arch/x86')
-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, * Sets up the system RAM area from start_pfn to end_pfn according to the * numa=fake command-line option. */ +static struct bootnode nodes[MAX_NUMNODES] __initdata; + static int __init numa_emulation(unsigned long start_pfn, unsigned long end_pfn) { - struct bootnode nodes[MAX_NUMNODES]; u64 size, addr = start_pfn << PAGE_SHIFT; u64 max_addr = end_pfn << PAGE_SHIFT; int num_nodes = 0, num = 0, coeff_flag, coeff = -1, i; |