All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <ian.campbell@citrix.com>
To: Yang Hongyang <yanghy@cn.fujitsu.com>
Cc: wei.liu2@citrix.com, eddie.dong@intel.com, wency@cn.fujitsu.com,
	andrew.cooper3@citrix.com, yunhong.jiang@intel.com,
	ian.jackson@eu.citrix.com, xen-devel@lists.xen.org,
	rshriram@cs.ubc.ca
Subject: Re: [PATCH v5 04/14] libxc/migration: Pass checkpoint information into the save algorithm.
Date: Wed, 13 May 2015 16:49:29 +0100	[thread overview]
Message-ID: <1431532169.8263.343.camel@citrix.com> (raw)
In-Reply-To: <1431482044-21286-5-git-send-email-yanghy@cn.fujitsu.com>

On Wed, 2015-05-13 at 09:53 +0800, Yang Hongyang wrote:
> From: Andrew Cooper <andrew.cooper3@citrix.com>

OOI how was this signalled to the old code?

> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> CC: Ian Campbell <Ian.Campbell@citrix.com>
> CC: Ian Jackson <Ian.Jackson@eu.citrix.com>
> CC: Wei Liu <wei.liu2@citrix.com>
> CC: Yang Hongyang <yanghy@cn.fujitsu.com>
> ---
>  tools/libxc/include/xenguest.h | 1 +
>  tools/libxc/xc_sr_common.h     | 3 +++
>  tools/libxc/xc_sr_save.c       | 3 +++
>  tools/libxl/libxl_dom.c        | 1 +
>  4 files changed, 8 insertions(+)
> 
> diff --git a/tools/libxc/include/xenguest.h b/tools/libxc/include/xenguest.h
> index 8e39075..7581263 100644
> --- a/tools/libxc/include/xenguest.h
> +++ b/tools/libxc/include/xenguest.h
> @@ -30,6 +30,7 @@
>  #define XCFLAGS_HVM       (1 << 2)
>  #define XCFLAGS_STDVGA    (1 << 3)
>  #define XCFLAGS_CHECKPOINT_COMPRESS    (1 << 4)
> +#define XCFLAGS_CHECKPOINTED    (1 << 5)
>  
>  #define X86_64_B_SIZE   64 
>  #define X86_32_B_SIZE   32
> diff --git a/tools/libxc/xc_sr_common.h b/tools/libxc/xc_sr_common.h
> index c4fe92c..c0f90d4 100644
> --- a/tools/libxc/xc_sr_common.h
> +++ b/tools/libxc/xc_sr_common.h
> @@ -174,6 +174,9 @@ struct xc_sr_context
>              /* Live migrate vs non live suspend. */
>              bool live;
>  
> +            /* Plain VM, or checkpoints over time. */
> +            bool checkpointed;
> +
>              /* Further debugging information in the stream. */
>              bool debug;
>  
> diff --git a/tools/libxc/xc_sr_save.c b/tools/libxc/xc_sr_save.c
> index 66fcd3e..caa727d 100644
> --- a/tools/libxc/xc_sr_save.c
> +++ b/tools/libxc/xc_sr_save.c
> @@ -732,6 +732,7 @@ int xc_domain_save2(xc_interface *xch, int io_fd, uint32_t dom,
>      ctx.save.callbacks = callbacks;
>      ctx.save.live  = !!(flags & XCFLAGS_LIVE);
>      ctx.save.debug = !!(flags & XCFLAGS_DEBUG);
> +    ctx.save.checkpointed = !!(flags & XCFLAGS_CHECKPOINTED);
>  
>      /*
>       * TODO: Find some time to better tweak the live migration algorithm.
> @@ -745,6 +746,8 @@ int xc_domain_save2(xc_interface *xch, int io_fd, uint32_t dom,
>      /* Sanity checks for callbacks. */
>      if ( hvm )
>          assert(callbacks->switch_qemu_logdirty);
> +    if ( ctx.save.checkpointed )
> +        assert(callbacks->checkpoint && callbacks->postcopy);
>  
>      IPRINTF("In experimental %s", __func__);
>      DPRINTF("fd %d, dom %u, max_iters %u, max_factor %u, flags %u, hvm %d",
> diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
> index f408646..a0c9850 100644
> --- a/tools/libxl/libxl_dom.c
> +++ b/tools/libxl/libxl_dom.c
> @@ -2003,6 +2003,7 @@ void libxl__domain_suspend(libxl__egc *egc, libxl__domain_suspend_state *dss)
>  
>      if (r_info != NULL) {
>          dss->interval = r_info->interval;
> +        dss->xcflags |= XCFLAGS_CHECKPOINTED;
>          if (libxl_defbool_val(r_info->compression))
>              dss->xcflags |= XCFLAGS_CHECKPOINT_COMPRESS;
>      }

  reply	other threads:[~2015-05-13 15:49 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-13  1:53 [PATCH v5 00/14] Misc patches to aid migration v2 Remus support Yang Hongyang
2015-05-13  1:53 ` [PATCH v5 01/14] libxc/migration: Be rather stricter with illformed callers Yang Hongyang
2015-05-13 15:45   ` Ian Campbell
2015-05-13  1:53 ` [PATCH v5 02/14] libxc/save: Adjust stream-position callbacks for checkpointed streams Yang Hongyang
2015-05-13 15:46   ` Ian Campbell
2015-05-13 15:47     ` Andrew Cooper
2015-05-13 15:56       ` Ian Campbell
2015-05-14  1:52         ` Yang Hongyang
2015-05-14 11:18           ` Ian Campbell
2015-05-13  1:53 ` [PATCH v5 03/14] libxc/migration: Specification update for CHECKPOINT records Yang Hongyang
2015-05-13 15:48   ` Ian Campbell
2015-05-13  1:53 ` [PATCH v5 04/14] libxc/migration: Pass checkpoint information into the save algorithm Yang Hongyang
2015-05-13 15:49   ` Ian Campbell [this message]
2015-05-14  1:03     ` Yang Hongyang
2015-05-14 11:17       ` Ian Campbell
2015-05-13  1:53 ` [PATCH v5 05/14] tools/libxc: unused attribute in DECLARE_HYPERCALL_BUFFER_SHADOW Yang Hongyang
2015-05-13 15:57   ` Ian Campbell
2015-05-14  1:06     ` Yang Hongyang
2015-05-13  1:53 ` [PATCH v5 06/14] tools/libxc: add a check in xc_hypercall_buffer_free_pages macro Yang Hongyang
2015-05-13  1:53 ` [PATCH v5 07/14] libxc/save: introduce setup() and cleanup() on save Yang Hongyang
2015-05-13  1:53 ` [PATCH v5 08/14] libxc/save: rename to_send to dirty_bitmap Yang Hongyang
2015-05-13  1:53 ` [PATCH v5 09/14] libxc/save: adjust the memory allocation for migration Yang Hongyang
2015-05-13  1:54 ` [PATCH v5 10/14] libxc/save: remove bitmap param from send_some_pages Yang Hongyang
2015-05-13  1:54 ` [PATCH v5 11/14] libxc/save: rename send_some_pages to send_dirty_pages Yang Hongyang
2015-05-13  1:54 ` [PATCH v5 12/14] libxc/save: reuse send_dirty_pages() in send_all_pages() Yang Hongyang
2015-05-13  1:54 ` [PATCH v5 13/14] libxc/restore: introduce process_record() Yang Hongyang
2015-05-13  1:54 ` [PATCH v5 14/14] libxc/restore: split read/handle qemu info Yang Hongyang
2015-05-13  7:54 ` [PATCH v5 00/14] Misc patches to aid migration v2 Remus support Andrew Cooper

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1431532169.8263.343.camel@citrix.com \
    --to=ian.campbell@citrix.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=eddie.dong@intel.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=rshriram@cs.ubc.ca \
    --cc=wei.liu2@citrix.com \
    --cc=wency@cn.fujitsu.com \
    --cc=xen-devel@lists.xen.org \
    --cc=yanghy@cn.fujitsu.com \
    --cc=yunhong.jiang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.