linux/arch/powerpc
Anton Blanchard fde69282b7 powerpc: POWER7 optimised copy_page using VMX and enhanced prefetch
Implement a POWER7 optimised copy_page using VMX and enhanced
prefetch instructions. We use enhanced prefetch hints to prefetch
both the load and store side. We copy a cacheline at a time and
fall back to regular loads and stores if we are unable to use VMX
(eg we are in an interrupt).

The following microbenchmark was used to assess the impact of
the patch:

http://ozlabs.org/~anton/junkcode/page_fault_file.c

We test MAP_PRIVATE page faults across a 1GB file, 100 times:

# time ./page_fault_file -p -l 1G -i 100

Before: 22.25s
After:  18.89s

17% faster

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-07-03 14:14:44 +10:00
..
boot powerpc/boot: Only build board support files when required. 2012-07-03 14:14:37 +10:00
configs powerpc: Enable jump label support 2012-07-03 14:14:40 +10:00
include/asm powerpc: tracing: Avoid tracepoint duplication with DECLARE_EVENT_CLASS 2012-07-03 14:14:41 +10:00
kernel powerpc: Clear RI and EE at the same time in system call exit 2012-07-03 14:14:43 +10:00
kvm KVM: PPC: Book3S HV: Drop locks around call to kvmppc_pin_guest_page 2012-06-19 15:04:13 +03:00
lib powerpc: POWER7 optimised copy_page using VMX and enhanced prefetch 2012-07-03 14:14:44 +10:00
math-emu powerpc/math_emu/efp: Look for errata handler when type mismatches 2011-10-06 23:36:47 -05:00
mm powerpc: Fix uninitialised error in numa.c 2012-06-29 14:35:35 +10:00
net powerpc: Fix BPF_JIT code to link with multiple TOCs 2012-06-29 14:35:34 +10:00
oprofile Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
perf perf: Pass last sampling period to perf_sample_data_init() 2012-05-09 15:23:12 +02:00
platforms powerpc/pseries/cpuidle: Replace pseries_notify_cpuidle_add call with notifier 2012-07-03 14:14:40 +10:00
sysdev Merge remote-tracking branch 'jwb/next' into next 2012-05-10 12:58:24 +10:00
xmon Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
Kconfig powerpc: Use the new generic strncpy_from_user() and strnlen_user() 2012-05-27 21:00:07 -07:00
Kconfig.debug irqdomain: Remove powerpc dependency from debugfs file 2012-03-29 14:31:02 -06:00
Makefile powerpc/crypto: Build files for the nx device driver 2012-05-16 15:05:45 +10:00
relocs_check.pl powerpc: Process dynamic relocations for kernel 2011-12-20 10:21:08 -05:00