linux/arch
Mike Travis 71fff5e6ca x86: convert cpu_to_apicid to be a per cpu variable
This patch converts the x86_cpu_to_apicid array to be a per cpu
variable. This saves sizeof(apicid) * NR unused cpus.  Access is mostly
from startup and CPU HOTPLUG functions.

MP_processor_info() is one of the functions that require access to the
x86_cpu_to_apicid array before the per_cpu data area is setup.  For this
case, a pointer to the __initdata array is initialized in setup_arch()
and removed in smp_prepare_cpus() after the per_cpu data area is
initialized.

A second change is included to change the initial array value of ARCH
i386 from 0xff to BAD_APICID to be consistent with ARCH x86_64.

Signed-off-by: Mike Travis <travis@sgi.com>
Cc: Andi Kleen <ak@suse.de>
Cc: Christoph Lameter <clameter@sgi.com>
Cc: "Siddha, Suresh B" <suresh.b.siddha@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-19 20:35:03 +02:00
..
alpha Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-10-16 11:23:06 -07:00
arm Replace __attribute_pure__ with __pure 2007-10-18 14:37:32 -07:00
avr32 Remove dma_cache_(wback|inv|wback_inv) functions 2007-10-17 08:42:57 -07:00
blackfin PM: Rework struct platform_suspend_ops 2007-10-18 14:37:18 -07:00
cris remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
frv remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
h8300 remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
i386 x86: merge init_task_32/64.c 2007-10-19 20:35:02 +02:00
ia64 Add missing newlines to some uses of dev_<level> messages 2007-10-18 14:37:28 -07:00
m32r remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
m68k remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
m68knommu remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
mips [MIPS] time: Move R4000 clockevent device code to separate configurable file 2007-10-18 18:11:47 +01:00
parisc Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-10-16 11:23:06 -07:00
powerpc powerpc: add scaled time accounting 2007-10-18 14:37:28 -07:00
ppc Merge branch 'for-2.6.24' of git://git.secretlab.ca/git/linux-2.6-mpc52xx into merge 2007-10-17 22:31:13 +10:00
s390 remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
sh PM: Rename struct pm_ops and related things 2007-10-18 14:37:18 -07:00
sh64 Remove dma_cache_(wback|inv|wback_inv) functions 2007-10-17 08:42:57 -07:00
sparc [SPARC/64]: Consolidate of_register_driver 2007-10-17 21:17:42 -07:00
sparc64 [SPARC/64]: Consolidate of_register_driver 2007-10-17 21:17:42 -07:00
um [UMP]: header_ops conversion needed for non-ethernet drivers 2007-10-17 19:35:04 -07:00
v850 remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
x86 x86: convert cpu_to_apicid to be a per cpu variable 2007-10-19 20:35:03 +02:00
x86_64 x86: merge init_task_32/64.c 2007-10-19 20:35:02 +02:00
xtensa Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-10-16 11:23:06 -07:00