linux-stable-rt/arch/powerpc
Hollis Blanchard df9b856c45 KVM: ppc: use prefetchable mappings for guest memory
Bare metal Linux on 440 can "overmap" RAM in the kernel linear map, so that it
can use large (256MB) mappings even if memory isn't a multiple of 256MB. To
prevent the hardware prefetcher from loading from an invalid physical address
through that mapping, it's marked Guarded.

However, KVM must ensure that all guest mappings are backed by real physical
RAM (since a deliberate access through a guarded mapping could still cause a
machine check). Accordingly, we don't need to make our mappings guarded, so
let's allow prefetching as the designers intended.

Curiously this patch didn't affect performance at all on the quick test I
tried, but it's clearly the right thing to do anyways and may improve other
workloads.

Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
2008-12-31 16:52:26 +02:00
..
boot
configs
include/asm KVM: ppc: optimize irq delivery path 2008-12-31 16:52:23 +02:00
kernel KVM: ppc: create struct kvm_vcpu_44x and introduce container_of() accessor 2008-12-31 16:52:22 +02:00
kvm KVM: ppc: use prefetchable mappings for guest memory 2008-12-31 16:52:26 +02:00
lib
math-emu
mm
oprofile
platforms
sysdev
xmon
Kconfig
Kconfig.debug
Makefile