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

Re: [Xen-devel] [PATCH v4 10/14] libxc/save: remove bitmap param from send_some_pages



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 <yanghy@xxxxxxxxxxxxxx>
> CC: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
> CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
> CC: Wei Liu <wei.liu2@xxxxxxxxxx>
> CC: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

> ---
>  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;
>  


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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