1
linux/arch/ia64
Chen, Kenneth W 00b65985fb [IA64] relax per-cpu TLB requirement to DTC
Instead of pinning per-cpu TLB into a DTR, use DTC.  This will free up
one TLB entry for application, or even kernel if access pattern to
per-cpu data area has high temporal locality.

Since per-cpu is mapped at the top of region 7 address, we just need to
add special case in alt_dtlb_miss.  The physical address of per-cpu data
is already conveniently stored in IA64_KR(PER_CPU_DATA).  Latency for
alt_dtlb_miss is not affected as we can hide all the latency.  It was
measured that alt_dtlb_miss handler has 23 cycles latency before and
after the patch.

The performance effect is massive for applications that put lots of tlb
pressure on CPU.  Workload environment like database online transaction
processing or application uses tera-byte of memory would benefit the most.
Measurement with industry standard database benchmark shown an upward
of 1.6% gain.  While smaller workloads like cpu, java also showing small
improvement.

Signed-off-by: Ken Chen <kenneth.w.chen@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2007-02-06 15:04:48 -08:00
..
configs [IA64] update sn2_defconfig 2006-10-17 14:55:45 -07:00
dig [PATCH] tty: Remove include of screen_info.h from tty.h 2006-07-10 13:24:16 -07:00
hp [IA64] s/termios/ktermios/ in simserial.c 2006-12-12 10:47:36 -08:00
ia32 [PATCH] struct path: convert ia64 2006-12-08 08:28:45 -08:00
kernel [IA64] relax per-cpu TLB requirement to DTC 2007-02-06 15:04:48 -08:00
lib [IA64] tidy up return value of ip_fast_csum 2006-12-07 11:19:59 -08:00
mm [IA64] relax per-cpu TLB requirement to DTC 2007-02-06 15:04:48 -08:00
oprofile Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
pci [IA64] replace kmalloc+memset with kzalloc 2006-12-07 13:46:43 -08:00
scripts
sn ACPI: Altix: ACPI _PRT support 2007-01-04 12:18:19 -05:00
defconfig [PATCH] sgiioc4: Always share IRQ 2006-07-31 13:28:40 -07:00
install.sh
Kconfig [PATCH] LOG2: Implement a general integer log2 facility in the kernel 2006-12-08 08:28:51 -08:00
Kconfig.debug [PATCH] Move Kprobes and Oprofile to "Instrumentation Support" menu 2005-11-07 07:53:35 -08:00
Makefile [IA64] add vmlinuz target 2006-06-21 14:31:07 -07:00
module.lds