kernel-ark/include/asm-x86_64
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
..
8253pit.h
a.out.h [PATCH] x86_64: TASK_SIZE fixes for compatibility mode processes 2005-06-21 18:46:12 -07:00
acpi.h
agp.h
apic.h [PATCH] x86_64: Support for AMD specific MCE Threshold. 2005-11-14 19:55:13 -08:00
apicdef.h
atomic.h
auxvec.h
bitops.h
boot.h
bootsetup.h
bug.h
bugs.h
byteorder.h
cache.h
cacheflush.h
calling.h
checksum.h
compat.h
cpu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpufeature.h
cputime.h
current.h
debugreg.h
delay.h
desc.h [PATCH] i386/x86-64: Share interrupt vectors when there is a large number of interrupt sources 2005-11-14 19:55:13 -08:00
div64.h
dma-mapping.h manual update from upstream: 2005-10-31 10:51:57 -08:00
dma.h [PATCH] x86_64: Add 4GB DMA32 zone 2005-11-14 19:55:13 -08:00
dwarf2.h
e820.h
elf.h
emergency-restart.h
errno.h
fcntl.h
fixmap.h
floppy.h
fpu32.h
futex.h
genapic.h
hardirq.h
hpet.h [PATCH] x86_64: Adjust, correct, and complete the HPET definitions for x86-64. 2005-11-14 19:55:13 -08:00
hw_irq.h [PATCH] x86_64: Support for AMD specific MCE Threshold. 2005-11-14 19:55:13 -08:00
i387.h
ia32_unistd.h
ia32.h
ide.h
io_apic.h
io.h [PATCH] Replace extern inline with static inline in asm-x86_64/* 2005-09-12 10:50:56 -07:00
ioctl.h
ioctls.h
ipcbuf.h
ipi.h
irq.h
kdebug.h
kexec.h
kmap_types.h
kprobes.h
ldt.h
linkage.h
local.h
mach_apic.h
mc146818rtc.h
mce.h [PATCH] x86_64: Support for AMD specific MCE Threshold. 2005-11-14 19:55:13 -08:00
mman.h
mmsegment.h
mmu_context.h
mmu.h
mmx.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mmzone.h [PATCH] x86_64: Fix up outdated pfn_to_page comment 2005-11-14 19:55:13 -08:00
module.h
mpspec.h [PATCH] i386/x86-64: Share interrupt vectors when there is a large number of interrupt sources 2005-11-14 19:55:13 -08:00
msgbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
msi.h
msr.h [PATCH] Fix up TLB flush filter disabling 2005-09-29 15:41:42 -07:00
mtrr.h [PATCH] Clean up mtrr compat ioctl code 2005-10-30 17:37:13 -08:00
namei.h
nmi.h
node.h
numa.h [PATCH] x86_64: Speed up numa_node_id by putting it directly into the PDA 2005-11-14 19:55:14 -08:00
numnodes.h
page.h [PATCH] x86_64: Don't apply __PHYSICAL_MASK to page frame numbers 2005-11-14 19:55:14 -08:00
param.h
parport.h
pci-direct.h
pci.h
pda.h [PATCH] x86_64: Speed up numa_node_id by putting it directly into the PDA 2005-11-14 19:55:14 -08:00
percpu.h
pgalloc.h [PATCH] Replace extern inline with static inline in asm-x86_64/* 2005-09-12 10:50:56 -07:00
pgtable.h [PATCH] x86_64: Don't apply __PHYSICAL_MASK to page frame numbers 2005-11-14 19:55:14 -08:00
poll.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
posix_types.h
prctl.h
processor.h
proto.h [PATCH] x86_64: Unmap NULL during early bootup 2005-11-14 19:55:14 -08:00
ptrace.h
resource.h
rtc.h
rwlock.h
rwsem.h [PATCH] add sem_is_read/write_locked() 2005-10-29 21:40:35 -07:00
scatterlist.h
seccomp.h
sections.h
segment.h
semaphore.h [PATCH] semaphore: Remove __MUTEX_INITIALIZER() 2005-10-30 17:37:27 -08:00
sembuf.h
serial.h [PATCH] Serial: Split 8250 port table (part 2) 2005-06-29 18:45:19 +01:00
setup.h
shmbuf.h
shmparam.h
sigcontext32.h
sigcontext.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
siginfo.h
signal.h
smp.h [PATCH] x86_64: New heuristics to find out hotpluggable CPUs. 2005-11-14 19:55:15 -08:00
socket.h [NET]: Introduce SO_{SND,RCV}BUFFORCE socket options 2005-08-29 15:31:35 -07:00
sockios.h
sparsemem.h
spinlock_types.h
spinlock.h [PATCH] x86_64: Use int operations in spinlocks to support more than 128 CPUs spinning. 2005-11-14 19:55:15 -08:00
stat.h
statfs.h
string.h
suspend.h
swiotlb.h manual update from upstream: 2005-10-31 10:51:57 -08:00
system.h
termbits.h
termios.h
thread_info.h
timex.h
tlb.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tlbflush.h
topology.h [PATCH] x86_64: Speed up numa_node_id by putting it directly into the PDA 2005-11-14 19:55:14 -08:00
types.h
uaccess.h [PATCH] remove verify_area(): remove verify_area() from various uaccess.h headers 2005-09-07 16:57:35 -07:00
ucontext.h
unaligned.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unistd.h [PATCH] unify sys_ptrace prototype 2005-10-30 17:37:20 -08:00
user32.h
user.h
vga.h
vsyscall32.h
vsyscall.h
xor.h