kernel-ark/include/asm-x86_64
Andi Kleen 2b4a08150e [PATCH] x86-64: Increase TLB flush array size
The generic TLB flush functions kept upto 506 pages per
CPU to avoid too frequent IPIs.

This value was done for the L1 cache of older x86 CPUs,
but with modern CPUs it does not make much sense anymore.
TLB flushing is slow enough that using the L2 cache is fine.

This patch increases the flush array on x86-64 to cache
5350 pages. That is roughly 20MB with 4K pages. It speeds
up large munmaps in multithreaded processes on SMP considerably.

The cost is roughly 42k of memory per CPU, which is reasonable.

I only increased it on x86-64 for now, but it would probably
make sense to increase it everywhere. Embedded architectures
with SMP may keep it smaller to save some memory per CPU.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-12 10:49:58 -07:00
..
8253pit.h
a.out.h
acpi.h
agp.h
apic.h [PATCH] x86-64: Remove esr disable hack in APIC code 2005-09-12 10:49:55 -07:00
apicdef.h [PATCH] x86-64: Support dualcore and 8 socket systems in k8 fallback node parsing 2005-09-12 10:49:56 -07:00
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
cpufeature.h
cputime.h
current.h
debugreg.h
delay.h
desc.h
div64.h
dma-mapping.h
dma.h
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 [PATCH] x86-64: Some cleanup and optimization to the processor data area. 2005-09-12 10:49:58 -07:00
hpet.h
hw_irq.h [PATCH] x86-64: Make remote TLB flush more scalable 2005-09-12 10:49:58 -07:00
i387.h
ia32_unistd.h
ia32.h
ide.h
io_apic.h
io.h
ioctl.h
ioctls.h
ipcbuf.h
ipi.h [PATCH] x86-64: Remove obsolete APIC "write around" bug workaround 2005-09-12 10:49:55 -07:00
irq.h
kdebug.h
kexec.h
kmap_types.h
kprobes.h
ldt.h
linkage.h
local.h
mach_apic.h
mc146818rtc.h
mce.h
mman.h
mmsegment.h
mmu_context.h
mmu.h
mmx.h
mmzone.h
module.h
mpspec.h
msgbuf.h
msi.h
msr.h
mtrr.h
namei.h
nmi.h
node.h
numa.h [PATCH] x86-64: Use ACPI PXM to parse PCI<->node assignments 2005-09-12 10:49:57 -07:00
numnodes.h
page.h [PATCH] x86-64: Remove redundant max_mapnr and replace with end_pfn 2005-09-12 10:49:57 -07:00
param.h
parport.h
pci-direct.h
pci.h [PATCH] x86-64: Avoid unnecessary double bouncing for swiotlb 2005-09-12 10:49:56 -07:00
pda.h [PATCH] x86-64: Some cleanup and optimization to the processor data area. 2005-09-12 10:49:58 -07:00
percpu.h
pgalloc.h
pgtable.h
poll.h
posix_types.h
prctl.h
processor.h
proto.h [PATCH] x86-64: Remove redundant max_mapnr and replace with end_pfn 2005-09-12 10:49:57 -07:00
ptrace.h
resource.h
rtc.h
rwlock.h
rwsem.h
scatterlist.h
seccomp.h
sections.h
segment.h
semaphore.h
sembuf.h
serial.h
setup.h
shmbuf.h
shmparam.h
sigcontext32.h
sigcontext.h
siginfo.h
signal.h
smp.h
socket.h
sockios.h
sparsemem.h
spinlock_types.h
spinlock.h
stat.h
statfs.h
string.h
suspend.h
swiotlb.h
system.h
termbits.h
termios.h
thread_info.h
timex.h [PATCH] x86-64: Don't include config.h in asm/timex.h 2005-09-12 10:49:58 -07:00
tlb.h
tlbflush.h [PATCH] x86-64: Increase TLB flush array size 2005-09-12 10:49:58 -07:00
topology.h [PATCH] x86-64: Use ACPI PXM to parse PCI<->node assignments 2005-09-12 10:49:57 -07:00
types.h
uaccess.h
ucontext.h
unaligned.h
unistd.h
user32.h
user.h
vga.h
vsyscall32.h
vsyscall.h
xor.h