summaryrefslogtreecommitdiff
path: root/arch/x86/mm
diff options
context:
space:
mode:
authorMike Travis <travis@sgi.com>2008-04-05 01:11:09 (GMT)
committerIngo Molnar <mingo@elte.hu>2008-04-19 17:44:58 (GMT)
commitf46bdf2db25dfaff3b611c9711705645cdb03acc (patch)
tree18d2de41fdeac8d51ebdac9153999611934ab5ce /arch/x86/mm
parentaa6b54461cc5c0019b9d792adf3176b444c10763 (diff)
downloadlinux-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/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 2ea56f4..3f6c53c 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;