summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIzik Eidus <ieidus@redhat.com>2009-06-10 16:23:24 (GMT)
committerAvi Kivity <avi@redhat.com>2009-06-28 11:10:29 (GMT)
commite244584fe3a5c20deddeca246548ac86dbc6e1d1 (patch)
treea5765ee9610362cefb9a9cdf2a63de11ae73f479
parent4075ea8c54a7506844a69f674990241e7766357b (diff)
downloadlinux-fsl-qoriq-e244584fe3a5c20deddeca246548ac86dbc6e1d1.tar.xz
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>
-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 7645543..013a5b3 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,
if (!new.dirty_bitmap)
goto out_free;
memset(new.dirty_bitmap, 0, dirty_bytes);
+ if (old.npages)
+ kvm_arch_flush_shadow(kvm);
}
#endif /* not defined CONFIG_S390 */