[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()
- To: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxx>
- From: Yang Hongyang <yanghy@xxxxxxxxxxxxxx>
- Date: Mon, 18 May 2015 08:53:45 +0800
- Cc: wei.liu2@xxxxxxxxxx, ian.campbell@xxxxxxxxxx, wency@xxxxxxxxxxxxxx, ian.jackson@xxxxxxxxxxxxx, yunhong.jiang@xxxxxxxxx, eddie.dong@xxxxxxxxx, guijianfeng@xxxxxxxxxxxxxx, rshriram@xxxxxxxxx
- Delivery-date: Mon, 18 May 2015 00:54:36 +0000
- List-id: Xen developer discussion <xen-devel.lists.xen.org>
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
*ctx)
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
send_dirty_pages().
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
<andrew.cooper3@xxxxxxxxxx>
.
--
Thanks,
Yang.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|