|
@@ -2390,14 +2390,13 @@ static void kvm_mmu_commit_zap_page(struct kvm *kvm,
|
|
|
return;
|
|
|
|
|
|
/*
|
|
|
- * wmb: make sure everyone sees our modifications to the page tables
|
|
|
- * rmb: make sure we see changes to vcpu->mode
|
|
|
- */
|
|
|
- smp_mb();
|
|
|
-
|
|
|
- /*
|
|
|
- * Wait for all vcpus to exit guest mode and/or lockless shadow
|
|
|
- * page table walks.
|
|
|
+ * We need to make sure everyone sees our modifications to
|
|
|
+ * the page tables and see changes to vcpu->mode here. The barrier
|
|
|
+ * in the kvm_flush_remote_tlbs() achieves this. This pairs
|
|
|
+ * with vcpu_enter_guest and walk_shadow_page_lockless_begin/end.
|
|
|
+ *
|
|
|
+ * In addition, kvm_flush_remote_tlbs waits for all vcpus to exit
|
|
|
+ * guest mode and/or lockless shadow page table walks.
|
|
|
*/
|
|
|
kvm_flush_remote_tlbs(kvm);
|
|
|
|