qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: [PATCH 4/8] kvm: Rework dirty bitmap synchronization


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





reply via email to

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