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

Re: [Xen-devel] [PATCH 4/4] xen: Always set the vram dirty during migration.

On 17/07/12 19:30, Stefano Stabellini wrote:
On Tue, 17 Jul 2012, Stefano Stabellini wrote:
On Tue, 17 Jul 2012, Anthony PERARD wrote:
Because the call to track the dirty bit in the video ram during migration won't
work (it returns -1), we set dirtybit on the all video ram.

Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
  xen-all.c |    5 +++++
  1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/xen-all.c b/xen-all.c
index 498883b..00bdb50 100644
--- a/xen-all.c
+++ b/xen-all.c
@@ -502,6 +502,11 @@ static void xen_sync_dirty_bitmap(XenIOState *state,

+    if (unlikely(xen_in_migration)) {
+        /* track_dirty_vram does not work during migration */
+        memory_region_set_dirty(framebuffer, 0, size);
+        return;
+    }
      rc = xc_hvm_track_dirty_vram(xen_xc, xen_domid,
                                   start_addr >> TARGET_PAGE_BITS, npages,

Why are you setting the entire framebuffer dirty?
We should set dirty only the actualy region that is supposed to be

I set the dirty bit on the all framebuffer because the track dirty call fail, so I don't which bits are dirty. This one is for QEMU to know which part of the screen need to be updated.

Also memory_region_set_dirty calls cpu_physical_memory_set_dirty_range,
in which you didn't add a call to xen_modified_memory.

Anthony PERARD

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.