aboutsummaryrefslogtreecommitdiffstats
path: root/virt/kvm
diff options
context:
space:
mode:
authorIzik Eidus <ieidus@redhat.com>2009-06-10 12:23:24 -0400
committerAvi Kivity <avi@redhat.com>2009-06-28 07:10:29 -0400
commite244584fe3a5c20deddeca246548ac86dbc6e1d1 (patch)
treea5765ee9610362cefb9a9cdf2a63de11ae73f479 /virt/kvm
parent4075ea8c54a7506844a69f674990241e7766357b (diff)
KVM: Fix dirty bit tracking for slots with large pages
When slot is already allocated and being asked to be tracked we need to break the large pages. This code flush the mmu when someone ask a slot to start dirty bit tracking. Cc: stable@kernel.org Signed-off-by: Izik Eidus <ieidus@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'virt/kvm')
-rw-r--r--virt/kvm/kvm_main.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 764554350ed8..013a5b3e9f75 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -1194,6 +1194,8 @@ int __kvm_set_memory_region(struct kvm *kvm,
1194 if (!new.dirty_bitmap) 1194 if (!new.dirty_bitmap)
1195 goto out_free; 1195 goto out_free;
1196 memset(new.dirty_bitmap, 0, dirty_bytes); 1196 memset(new.dirty_bitmap, 0, dirty_bytes);
1197 if (old.npages)
1198 kvm_arch_flush_shadow(kvm);
1197 } 1199 }
1198#endif /* not defined CONFIG_S390 */ 1200#endif /* not defined CONFIG_S390 */
1199 1201