aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorXiao Guangrong <xiaoguangrong@cn.fujitsu.com>2010-11-22 22:13:00 -0500
committerAvi Kivity <avi@redhat.com>2011-01-12 04:29:51 -0500
commita4ee1ca4a36e7857d90ae8c2b85f1bde9a042c10 (patch)
tree29707dd004ef14df318ac35321b95ac62570fc99 /include
parent407c61c6bd6a51b56d02f8bbad8aadf19db8c7b5 (diff)
KVM: MMU: delay flush all tlbs on sync_page path
Quote from Avi: | I don't think we need to flush immediately; set a "tlb dirty" bit somewhere | that is cleareded when we flush the tlb. kvm_mmu_notifier_invalidate_page() | can consult the bit and force a flush if set. Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/kvm_host.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index da0794f707f6..ac4e83a1a10d 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -254,6 +254,7 @@ struct kvm {
254 struct mmu_notifier mmu_notifier; 254 struct mmu_notifier mmu_notifier;
255 unsigned long mmu_notifier_seq; 255 unsigned long mmu_notifier_seq;
256 long mmu_notifier_count; 256 long mmu_notifier_count;
257 long tlbs_dirty;
257#endif 258#endif
258}; 259};
259 260
@@ -382,6 +383,7 @@ void kvm_vcpu_on_spin(struct kvm_vcpu *vcpu);
382void kvm_resched(struct kvm_vcpu *vcpu); 383void kvm_resched(struct kvm_vcpu *vcpu);
383void kvm_load_guest_fpu(struct kvm_vcpu *vcpu); 384void kvm_load_guest_fpu(struct kvm_vcpu *vcpu);
384void kvm_put_guest_fpu(struct kvm_vcpu *vcpu); 385void kvm_put_guest_fpu(struct kvm_vcpu *vcpu);
386
385void kvm_flush_remote_tlbs(struct kvm *kvm); 387void kvm_flush_remote_tlbs(struct kvm *kvm);
386void kvm_reload_remote_mmus(struct kvm *kvm); 388void kvm_reload_remote_mmus(struct kvm *kvm);
387 389