On 07/17/2012 04:30 PM, Anthony PERARD wrote:
This patch add some calls to xen_modified_memory to notify Xen about dirtybits
during migration.
diff --git a/exec.c b/exec.c
index c9fa17d..9f7a4f7 100644
--- a/exec.c
+++ b/exec.c
@@ -3438,6 +3438,7 @@ void cpu_physical_memory_rw(target_phys_addr_t addr,
uint8_t *buf,
cpu_physical_memory_set_dirty_flags(
addr1, (0xff & ~CODE_DIRTY_FLAG));
}
+ xen_modified_memory(addr1, TARGET_PAGE_SIZE);
qemu_put_ram_ptr(ptr);
}
} else {
This is pretty ugly. An alternative is to set up a periodic bitmap scan
that looks at the qemu dirty bitmap and calls xen_modified_memory() for
dirty page ranges, and clears the bitmap for the next pass. Is it workable?