x86: fix stack overflow for large values of MAX_APICS
authorJack Steiner <steiner@sgi.com>
Fri, 20 Jun 2008 02:51:05 +0000 (21:51 -0500)
committerIngo Molnar <mingo@elte.hu>
Tue, 8 Jul 2008 10:23:28 +0000 (12:23 +0200)
commitb6df1b8bc1250191cfee15627697111c1cbda53f
treeb5991eafa0f5f4e155921bd10d4f44696c271b8d
parentd400524affeb84bdfc2b00cd561fbfb8c09dadd7
x86: fix stack overflow for large values of MAX_APICS

physid_mask_of_physid() causes a huge stack (12k) to be created if the
number of APICS is large. Replace physid_mask_of_physid() with a
new function that does not create large stacks. This is a problem only
on large x86_64 systems.

this paves the way to increase MAX_APICS.

Signed-off-by: Jack Steiner <steiner@sgi.com>
Cc: linux-mm@kvack.org
Cc: mingo@elte.hu
Cc: tglx@linutronix.de
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/apic_32.c
arch/x86/kernel/apic_64.c
arch/x86/kernel/smpboot.c
include/asm-x86/mpspec.h