aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/mm
diff options
context:
space:
mode:
authorMike Travis <travis@sgi.com>2008-04-04 21:11:09 -0400
committerIngo Molnar <mingo@elte.hu>2008-04-19 13:44:58 -0400
commitf46bdf2db25dfaff3b611c9711705645cdb03acc (patch)
tree18d2de41fdeac8d51ebdac9153999611934ab5ce /arch/x86/mm
parentaa6b54461cc5c0019b9d792adf3176b444c10763 (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>
Diffstat (limited to 'arch/x86/mm')
-rw-r--r--arch/x86/mm/numa_64.c3
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 */
383static struct bootnode nodes[MAX_NUMNODES] __initdata;
384
383static int __init numa_emulation(unsigned long start_pfn, unsigned long end_pfn) 385static 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;