summaryrefslogtreecommitdiff
path: root/arch/x86/kvm/mmu.c
diff options
context:
space:
mode:
authorXiao Guangrong <xiaoguangrong@cn.fujitsu.com>2010-06-08 12:07:01 (GMT)
committerAvi Kivity <avi@redhat.com>2010-08-01 07:46:26 (GMT)
commit3b5d13218667b3ca52efa52cec1d322163bf5465 (patch)
tree86b2d982c2291d5204425abc45f3b4f61deb3e4c /arch/x86/kvm/mmu.c
parent5304efde6ae27deeeae79b97af709d4ceecc336e (diff)
downloadlinux-fsl-qoriq-3b5d13218667b3ca52efa52cec1d322163bf5465.tar.xz
KVM: MMU: delay local tlb flush
delay local tlb flush until enter guest moden, it can reduce vpid flush frequency and reduce remote tlb flush IPI(if KVM_REQ_TLB_FLUSH bit is already set, IPI is not sent) Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kvm/mmu.c')
-rw-r--r--arch/x86/kvm/mmu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index e087f85..4706a93 100644
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@ -2364,7 +2364,7 @@ static int nonpaging_init_context(struct kvm_vcpu *vcpu)
void kvm_mmu_flush_tlb(struct kvm_vcpu *vcpu)
{
++vcpu->stat.tlb_flush;
- kvm_x86_ops->tlb_flush(vcpu);
+ set_bit(KVM_REQ_TLB_FLUSH, &vcpu->requests);
}
static void paging_new_cr3(struct kvm_vcpu *vcpu)