]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: MMU: remove prefault from invlpg handler
authorMarcelo Tosatti <mtosatti@redhat.com>
Sat, 5 Dec 2009 14:34:11 +0000 (12:34 -0200)
committerMarcelo Tosatti <mtosatti@redhat.com>
Sun, 27 Dec 2009 15:36:30 +0000 (13:36 -0200)
commitb2556d22d6ac454fa81c92a9fb78e2677e13450a
tree2bf327861e4da2745b66c2dda03c5c5b0afcf7b6
parent1bed234ad63b32b7153b32f25670f986d996fe15
KVM: MMU: remove prefault from invlpg handler

The invlpg prefault optimization breaks Windows 2008 R2 occasionally.

The visible effect is that the invlpg handler instantiates a pte which
is, microseconds later, written with a different gfn by another vcpu.

The OS could have other mechanisms to prevent a present translation from
being used, which the hypervisor is unaware of.

While the documentation states that the cpu is at liberty to prefetch tlb
entries, it looks like this is not heeded, so remove tlb prefetch from
invlpg.

Cc: stable@kernel.org
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/paging_tmpl.h