linux/arch
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
..
alpha [PATCH] missing exports of pm_power_off() on alpha and sparc32 2007-01-30 08:39:20 -08:00
arm [ARM] 4117/1: S3C2412: Fix writel() usage in selection code 2007-01-29 10:09:17 +00:00
arm26 [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
avr32 [AVR32] Update ATSTK1000 defconfig: Enable macb by default 2007-01-26 13:19:48 +01:00
cris [PATCH] Change cpu_up and co from __devinit to __cpuinit 2007-01-11 18:18:20 -08:00
frv [PATCH] sysctl: remove unused "context" param 2006-12-10 09:55:41 -08:00
h8300 [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
i386 [PATCH] EFI x86: pass firmware call parameters on the stack 2007-02-04 10:27:10 -08:00
ia64 [IA64] relax per-cpu TLB requirement to DTC 2007-02-06 15:04:48 -08:00
m32r [PATCH] Change cpu_up and co from __devinit to __cpuinit 2007-01-11 18:18:20 -08:00
m68k [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
m68knommu [PATCH] LOG2: Implement a general integer log2 facility in the kernel 2006-12-08 08:28:51 -08:00
mips [MIPS] Fix typo of "CONFIG_MT_SMP". 2007-01-30 12:10:48 +00:00
parisc [PATCH] Change cpu_up and co from __devinit to __cpuinit 2007-01-11 18:18:20 -08:00
powerpc Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-01-28 12:45:22 -08:00
ppc Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2007-01-18 10:34:51 +11:00
s390 [PATCH] Fix sparsemem on Cell 2007-01-11 18:18:20 -08:00
sh sh: Fixup SH-2 BUG() trap handling. 2006-12-12 09:11:45 +09:00
sh64 [PATCH] Generic ioremap_page_range: sh64 conversion 2006-12-08 08:28:52 -08:00
sparc [PATCH] sanitize sections for sparc32 smp 2007-02-01 16:17:06 -08:00
sparc64 [SPARC64]: Set g4/g5 properly in sun4v dtlb-prot handling. 2007-01-26 18:56:01 -08:00
um [PATCH] uml: fix signal frame alignment 2007-01-30 16:01:35 -08:00
v850 kconfig: Standardize "depends" -> "depends on" in Kconfig files 2006-12-12 20:04:19 +01:00
x86_64 [PATCH] x86_64 ia32 vDSO: define arch_vma_name 2007-01-26 13:50:58 -08:00
xtensa [PATCH] Xtensa: Add ktermios and minor filename fix 2006-12-13 09:05:50 -08:00