qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Migration dirty bitmap: should only mark pages as dirty aft


From: Chunguang Li
Subject: [Qemu-devel] Migration dirty bitmap: should only mark pages as dirty after they have been sent
Date: Sun, 25 Sep 2016 16:22:59 +0800 (GMT+08:00)

Hi all!
I have some confusion about the dirty bitmap during migration. I have digged 
into the code. I figure out that every now and then during migration, the dirty 
bitmap will be grabbed from the kernel space through ioctl(KVM_GET_DIRTY_LOG), 
and then be used to update qemu's dirty bitmap. However I think this mechanism 
leads to resendness of some NON-dirty pages.

Take the first iteration of precopy for instance, during which all the pages 
will be sent. Before that during the migration setup, the 
ioctl(KVM_GET_DIRTY_LOG) is called once, so the kernel begins to produce the 
dirty bitmap from this moment. When the pages "that haven't been sent" are 
written, the kernel space marks them as dirty. However I don't think this is 
correct, because these pages will be sent during this and the next iterations 
with the same content (if they are not written again after they are sent). It 
only makes sense to mark the pages which have already been sent during one 
iteration as dirty when they are written.


Am I right about this consideration? If I am right, is there some advice to 
improve this?


Thanks,
Chunguang Li


reply via email to

[Prev in Thread] Current Thread [Next in Thread]