summaryrefslogtreecommitdiffstats
path: root/virt/kvm/async_pf.c
diff options
context:
space:
mode:
authorXiao Guangrong2014-04-17 11:06:16 +0200
committerMarcelo Tosatti2014-04-23 22:49:52 +0200
commit198c74f43f0f5473f99967aead30ddc622804bc1 (patch)
treeaac35e7d0e127e2a553282a686085b000d786791 /virt/kvm/async_pf.c
parentKVM: MMU: flush tlb if the spte can be locklessly modified (diff)
downloadkernel-qcow2-linux-198c74f43f0f5473f99967aead30ddc622804bc1.tar.gz
kernel-qcow2-linux-198c74f43f0f5473f99967aead30ddc622804bc1.tar.xz
kernel-qcow2-linux-198c74f43f0f5473f99967aead30ddc622804bc1.zip
KVM: MMU: flush tlb out of mmu lock when write-protect the sptes
Now we can flush all the TLBs out of the mmu lock without TLB corruption when write-proect the sptes, it is because: - we have marked large sptes readonly instead of dropping them that means we just change the spte from writable to readonly so that we only need to care the case of changing spte from present to present (changing the spte from present to nonpresent will flush all the TLBs immediately), in other words, the only case we need to care is mmu_spte_update() - in mmu_spte_update(), we haved checked SPTE_HOST_WRITEABLE | PTE_MMU_WRITEABLE instead of PT_WRITABLE_MASK, that means it does not depend on PT_WRITABLE_MASK anymore Acked-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'virt/kvm/async_pf.c')
0 files changed, 0 insertions, 0 deletions