Anthony PERARD
2012-Jul-17 13:59 UTC
Re: [Qemu-devel] [PATCH 3/4] exec, memory: Call to xen_modified_memory.
On 17/07/12 14:37, Avi Kivity wrote:> 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?I don''t think a periodic scan can do anything useful, unfortunately.> (is xen_modified_memory a hypercall, or does it maintain an in-memory > structure?)It''s an hypercall. The function do something (call the hypercall) only during migration, otherwise it return immediately. -- Anthony PERARD