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

Re: [Xen-devel] [PATCH Remus v6 1/3] libxc/save: refactor of send_domain_memory_live()

On 05/15/2015 08:56 PM, Andrew Cooper wrote:
On 15/05/15 11:17, Yang Hongyang wrote:
@@ -519,9 +533,15 @@ static int send_domain_memory_live(struct xc_sr_context 
          goto out;

-    rc = update_progress_string(ctx, &progress_str, ctx->save.max_iterations);
-    if ( rc )
-        goto out;
+    if ( ctx->save.live )
+    {
+        rc = update_progress_string(ctx, &progress_str,
+                                    ctx->save.max_iterations);
+        if ( rc )
+            goto out;
+    }
+    else
+        xc_set_progress_prefix(xch, "Checkpointed save");

      bitmap_or(dirty_bitmap, ctx->save.deferred_pages, ctx->save.p2m_size);

Sorry not to notice this before, but you want to clear the
deferred_pages map (and count) after the subsequent call to

deferred_pages accumulates during the live phase (for grant mapped
pages, pagetables in flux, etc), but should be empty an unused during
checkpoints.  At the moment, this is causing each checkpoint to send
more data than they need to.

Ah, it won't cause error in the test, so I missed this part, good catch,
thank you!

For the rest of the refactoring, Reviewed-by: Andrew Cooper


Xen-devel mailing list



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