kernel-ark/arch/x86_64/kernel
Andi Kleen 420f8f68c9 [PATCH] x86_64: New heuristics to find out hotpluggable CPUs.
With a NR_CPUS==128 kernel with CPU hotplug enabled we would waste 4MB
on per CPU data of all possible CPUs.  The reason was that HOTPLUG
always set up possible map to NR_CPUS cpus and then we need to allocate
that much (each per CPU data is roughly ~32k now)

The underlying problem is that ACPI didn't tell us how many hotplug CPUs
the platform supports.  So the old code just assumed all, which would
lead to this memory wastage.

This implements some new heuristics:

 - If the BIOS specified disabled CPUs in the ACPI/mptables assume they
   can be enabled later (this is bending the ACPI specification a bit,
   but seems like a obvious extension)
 - The user can overwrite it with a new additionals_cpus=NUM option
 - Otherwise use half of the available CPUs or 2, whatever is more.

Cc: ashok.raj@intel.com
Cc: len.brown@intel.com

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-14 19:55:15 -08:00
..
acpi
cpufreq
aperture.c [PATCH] x86_64: Fix gcc 4 warning in aperture.c 2005-11-14 19:55:14 -08:00
apic.c [PATCH] x86_64: Support for AMD specific MCE Threshold. 2005-11-14 19:55:13 -08:00
asm-offsets.c
crash.c
e820.c [PATCH] x86_64: Only use asm/sections.h to declare section symbols 2005-11-14 19:55:14 -08:00
early_printk.c
entry.S [PATCH] x86_64: Support for AMD specific MCE Threshold. 2005-11-14 19:55:13 -08:00
genapic_cluster.c
genapic_flat.c
genapic.c
head64.c [PATCH] x86_64: Only use asm/sections.h to declare section symbols 2005-11-14 19:55:14 -08:00
head.S [PATCH] x86_64: Unmap NULL during early bootup 2005-11-14 19:55:14 -08:00
i387.c
i8259.c [PATCH] x86_64: Support for AMD specific MCE Threshold. 2005-11-14 19:55:13 -08:00
init_task.c [PATCH] x86-64: Set the stack pointer correctly in init_thread and init_tss 2005-09-12 10:50:57 -07:00
io_apic.c [PATCH] i386/x86-64: Share interrupt vectors when there is a large number of interrupt sources 2005-11-14 19:55:13 -08:00
ioport.c
irq.c
kprobes.c
ldt.c
machine_kexec.c
Makefile [PATCH] x86_64: Support for AMD specific MCE Threshold. 2005-11-14 19:55:13 -08:00
mce_amd.c [PATCH] x86_64: Support for AMD specific MCE Threshold. 2005-11-14 19:55:13 -08:00
mce_intel.c
mce.c [PATCH] x86_64: Support for AMD specific MCE Threshold. 2005-11-14 19:55:13 -08:00
module.c
mpparse.c [PATCH] x86_64: New heuristics to find out hotpluggable CPUs. 2005-11-14 19:55:15 -08:00
nmi.c
pci-dma.c
pci-gart.c [PATCH] x86_64: Use the DMA32 zone for dma_alloc_coherent()/pci_alloc_consistent 2005-11-14 19:55:14 -08:00
pci-nommu.c
pmtimer.c
process.c
ptrace.c
reboot.c
relocate_kernel.S
setup64.c [PATCH] x86_64: Unmap NULL during early bootup 2005-11-14 19:55:14 -08:00
setup.c [PATCH] x86_64: Only use asm/sections.h to declare section symbols 2005-11-14 19:55:14 -08:00
signal.c [PATCH] convert signal handling of NODEFER to act like other Unix boxes. 2005-08-29 10:03:11 -07:00
smp.c [PATCH] x86_64: Remove duplicate __cpuinit define 2005-11-14 19:55:14 -08:00
smpboot.c [PATCH] x86_64: New heuristics to find out hotpluggable CPUs. 2005-11-14 19:55:15 -08:00
suspend_asm.S
suspend.c [PATCH] swsusp: rework memory freeing on resume 2005-10-30 17:37:14 -08:00
sys_x86_64.c
syscall.c
time.c [PATCH] hpet-RTC: cache the comparator register 2005-10-30 17:37:30 -08:00
trampoline.S
traps.c [PATCH] x86_64: Support for AMD specific MCE Threshold. 2005-11-14 19:55:13 -08:00
vmlinux.lds.S [PATCH] x86_64: Only use asm/sections.h to declare section symbols 2005-11-14 19:55:14 -08:00
vsyscall.c
x8664_ksyms.c