|
From: | Avi Kivity |
Subject: | [Qemu-devel] Re: [PATCH 4/8] kvm: Rework dirty bitmap synchronization |
Date: | Sun, 03 May 2009 13:05:27 +0300 |
User-agent: | Thunderbird 2.0.0.21 (X11/20090320) |
Jan Kiszka wrote:
Extend kvm_physical_sync_dirty_bitmap() so that is can sync across multiple slots. Useful for updating the whole dirty log during migration. Moreover, properly pass down errors the whole call chain.-void cpu_physical_sync_dirty_bitmap(target_phys_addr_t start_addr, target_phys_addr_t end_addr);+int cpu_physical_sync_dirty_bitmap(target_phys_addr_t start_addr, + target_phys_addr_t end_addr);
This is defined in terms of physical addresses, but in patch 5, you
@@ -3248,13 +3248,18 @@ static int ram_save_live(QEMUFile *f, int stage, void *opaque) { ram_addr_t addr;+ if (cpu_physical_sync_dirty_bitmap(0, last_ram_offset) != 0) {+ qemu_file_set_error(f); + return 0; + } +
Which is in terms of ram addresses; so this will fail with large memory, where the last phys address is larger than the last ram address.
Maybe this can be as easy as passing -1 for the end address. But in this case I suggest adding a helper to sync all of memory instead.
-- error compiling committee.c: too many arguments to function
[Prev in Thread] | Current Thread | [Next in Thread] |