From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH v4 10/14] libxc/save: remove bitmap param from send_some_pages Date: Tue, 12 May 2015 13:15:13 +0100 Message-ID: <5551EED1.5010801@citrix.com> References: <1431429922-15344-1-git-send-email-yanghy@cn.fujitsu.com> <1431429922-15344-11-git-send-email-yanghy@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1431429922-15344-11-git-send-email-yanghy@cn.fujitsu.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Yang Hongyang , xen-devel@lists.xen.org Cc: wei.liu2@citrix.com, ian.campbell@citrix.com, wency@cn.fujitsu.com, ian.jackson@eu.citrix.com, yunhong.jiang@intel.com, eddie.dong@intel.com, rshriram@cs.ubc.ca List-Id: xen-devel@lists.xenproject.org On 12/05/15 12:25, Yang Hongyang wrote: > In last patch we added dirty bitmap to the save context, > we no longer need to pass this param to send_some_pages. > We can get dirty bitmap from the save context. > 'entries' should stay as it is a useful sanity check. > > Signed-off-by: Yang Hongyang > CC: Ian Campbell > CC: Ian Jackson > CC: Wei Liu > CC: Andrew Cooper Reviewed-by: Andrew Cooper > --- > tools/libxc/xc_sr_save.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/tools/libxc/xc_sr_save.c b/tools/libxc/xc_sr_save.c > index 0953c35..af2c859 100644 > --- a/tools/libxc/xc_sr_save.c > +++ b/tools/libxc/xc_sr_save.c > @@ -374,23 +374,24 @@ static int send_all_pages(struct xc_sr_context *ctx) > } > > /* > - * Send a subset of pages in the guests p2m, according to the provided bitmap. > + * Send a subset of pages in the guests p2m, according to the dirty bitmap. > * Used for each subsequent iteration of the live migration loop. > * > * Bitmap is bounded by p2m_size. > */ > static int send_some_pages(struct xc_sr_context *ctx, > - unsigned long *bitmap, > unsigned long entries) > { > xc_interface *xch = ctx->xch; > xen_pfn_t p; > unsigned long written; > int rc; > + DECLARE_HYPERCALL_BUFFER_SHADOW(unsigned long, dirty_bitmap, > + (&ctx->save.dirty_bitmap_hbuf)); > > for ( p = 0, written = 0; p < ctx->save.p2m_size; ++p ) > { > - if ( !test_bit(p, bitmap) ) > + if ( !test_bit(p, dirty_bitmap) ) > continue; > > rc = add_to_batch(ctx, p); > @@ -515,7 +516,7 @@ static int send_domain_memory_live(struct xc_sr_context *ctx) > if ( rc ) > goto out; > > - rc = send_some_pages(ctx, dirty_bitmap, stats.dirty_count); > + rc = send_some_pages(ctx, stats.dirty_count); > if ( rc ) > goto out; > } > @@ -540,8 +541,7 @@ static int send_domain_memory_live(struct xc_sr_context *ctx) > > bitmap_or(dirty_bitmap, ctx->save.deferred_pages, ctx->save.p2m_size); > > - rc = send_some_pages(ctx, dirty_bitmap, > - stats.dirty_count + ctx->save.nr_deferred_pages); > + rc = send_some_pages(ctx, stats.dirty_count + ctx->save.nr_deferred_pages); > if ( rc ) > goto out; >