• Marcelo Tosatti's avatar
    KVM: MMU: remove prefault from invlpg handler · fb341f57
    Marcelo Tosatti authored
    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: default avatarMarcelo Tosatti <mtosatti@redhat.com>
    Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
    fb341f57
paging_tmpl.h 15.7 KB