linux/arch
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
..
alpha alpha: remove dead BIO_VMERGE_BOUNDARY 2008-12-29 08:29:51 +01:00
arm Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-12-30 17:36:49 -08:00
avr32 avr32: favr-32 build fix 2008-12-18 16:22:13 +01:00
blackfin kbuild: use KECHO convenience echo 2008-12-03 21:32:01 +01:00
cris
frv frv: fix mmap2 error handling 2008-12-01 19:55:24 -08:00
h8300
ia64 KVM: ia64: Remove some macro definitions in asm-offsets.c. 2008-12-31 16:52:25 +02:00
m32r Merge branch 'sched/urgent' into sched/core 2008-12-08 13:52:00 +01:00
m68k m68k: fix trigraph ignored warning in setox.S 2008-12-28 20:00:05 +01:00
m68knommu
mips Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-12-28 12:27:58 -08:00
mn10300 MN10300: Give correct size when reserving interrupt vector table 2008-12-10 13:34:33 -08:00
parisc Merge branch 'next' into for-linus 2008-12-25 11:40:09 +11:00
powerpc KVM: ppc: use prefetchable mappings for guest memory 2008-12-31 16:52:26 +02:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2008-12-30 17:37:25 -08:00
sh Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2008-12-28 12:33:21 -08:00
sparc Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-12-28 20:19:47 -08:00
um Merge branch 'core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-12-30 16:10:19 -08:00
x86 KVM: Fix cpuid iteration on multiple leaves per eac 2008-12-31 16:52:24 +02:00
xtensa xtensa: Kill directly reference of netdev->priv 2008-12-04 15:06:56 -08:00
.gitignore
Kconfig oprofile: select RING_BUFFER 2008-12-12 09:46:31 +01:00