All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yang Hongyang <yanghy@cn.fujitsu.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xen.org
Cc: wei.liu2@citrix.com, ian.campbell@citrix.com,
	wency@cn.fujitsu.com, guijianfeng@cn.fujitsu.com,
	yunhong.jiang@intel.com, eddie.dong@intel.com,
	rshriram@cs.ubc.ca, ian.jackson@eu.citrix.com
Subject: Re: [PATCH v2 COLOPre 03/13] libxc/restore: zero ioreq page only one time
Date: Mon, 8 Jun 2015 17:58:47 +0800	[thread overview]
Message-ID: <55756757.7020900@cn.fujitsu.com> (raw)
In-Reply-To: <55756468.4090500@citrix.com>



On 06/08/2015 05:46 PM, Andrew Cooper wrote:
> On 08/06/15 04:43, Yang Hongyang wrote:
>> ioreq page contains evtchn which will be set when we resume the
>> secondary vm the first time. The hypervisor will check if the
>> evtchn is corrupted, so we cannot zero the ioreq page more
>> than one time.
>>
>> The ioreq->state is always STATE_IOREQ_NONE after the vm is
>> suspended, so it is OK if we only zero it one time.
>>
>> Signed-off-by: Yang Hongyang <yanghy@cn.fujitsu.com>
>> Signed-off-by: Wen congyang <wency@cn.fujitsu.com>
>> CC: Andrew Cooper <andrew.cooper3@citrix.com>
>
> The issue here is that we are running the restore algorithm over a
> domain which has already been running in Xen for a while.  This is a
> brand new usecase, as far as I am aware.

Exactly.

>
> Does the qemu process associated with this domain get frozen while the
> secondary is being reset, or does the process get destroyed and recreated.

What do you mean by reset? do you mean secondary is suspended at checkpoint?

>
> I have a gut feeling that it would be safer to clear all of the page
> other than the event channel, but that depends on exactly what else is
> going on.  We absolutely don't want to do is have an update to this page
> from the primary with an in-progress IOREQ.
>
> ~Andrew
>
>> ---
>>   tools/libxc/xc_sr_restore_x86_hvm.c | 3 ++-
>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/tools/libxc/xc_sr_restore_x86_hvm.c b/tools/libxc/xc_sr_restore_x86_hvm.c
>> index 6f5af0e..06177e0 100644
>> --- a/tools/libxc/xc_sr_restore_x86_hvm.c
>> +++ b/tools/libxc/xc_sr_restore_x86_hvm.c
>> @@ -78,7 +78,8 @@ static int handle_hvm_params(struct xc_sr_context *ctx,
>>               break;
>>           case HVM_PARAM_IOREQ_PFN:
>>           case HVM_PARAM_BUFIOREQ_PFN:
>> -            xc_clear_domain_page(xch, ctx->domid, entry->value);
>> +            if ( !ctx->restore.buffer_all_records )
>> +                xc_clear_domain_page(xch, ctx->domid, entry->value);
>>               break;
>>           }
>>
>
> .
>

-- 
Thanks,
Yang.

  parent reply	other threads:[~2015-06-08  9:58 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-08  3:43 [PATCH v2 COLOPre 00/13] Prerequisite patches for COLO Yang Hongyang
2015-06-08  3:43 ` [PATCH v2 COLOPre 01/13] libxc/restore: fix error handle of process_record Yang Hongyang
2015-06-08  9:24   ` Andrew Cooper
2015-06-08  9:37     ` Yang Hongyang
2015-06-08  9:39       ` Andrew Cooper
2015-06-10 14:55   ` Ian Campbell
2015-06-11  2:10     ` Yang Hongyang
2015-06-08  3:43 ` [PATCH v2 COLOPre 02/13] tools/libxc: support to resume uncooperative HVM guests Yang Hongyang
2015-06-10 15:18   ` Ian Campbell
2015-06-11  2:42     ` Wen Congyang
2015-06-11  8:44       ` Ian Campbell
2015-06-11  8:56         ` Wen Congyang
2015-06-11  9:41           ` Ian Campbell
2015-06-08  3:43 ` [PATCH v2 COLOPre 03/13] libxc/restore: zero ioreq page only one time Yang Hongyang
2015-06-08  9:46   ` Andrew Cooper
2015-06-08  9:49     ` Andrew Cooper
2015-06-08  9:58     ` Yang Hongyang [this message]
2015-06-08 10:15       ` Andrew Cooper
2015-06-09  0:59         ` Yang Hongyang
2015-06-09  7:30           ` Andrew Cooper
2015-06-10  5:26             ` Yang Hongyang
2015-06-10  7:44               ` Andrew Cooper
2015-06-10  9:06                 ` Wen Congyang
2015-06-10 10:08                   ` Andrew Cooper
2015-06-10 10:35                     ` Paul Durrant
2015-06-10 10:40                   ` Paul Durrant
2015-06-10 10:54                     ` Wen Congyang
2015-06-10 10:58                       ` Paul Durrant
2015-06-10 11:37                         ` Wen Congyang
2015-06-10 11:47                           ` Paul Durrant
2015-06-11  1:13                             ` Wen Congyang
2015-06-11  8:32                               ` Paul Durrant
2015-06-11  8:48                                 ` Wen Congyang
2015-06-11 10:20                                   ` Paul Durrant
2015-06-11 11:14                                     ` Wen Congyang
2015-06-11 12:54                                       ` Yang Hongyang
2015-06-12  3:39                                         ` Yang Hongyang
2015-06-11 12:58                                     ` Yang Hongyang
2015-06-11 13:25                                       ` Paul Durrant
2015-06-12  3:22                                         ` Wen Congyang
2015-06-12  7:41                                           ` Paul Durrant
2015-06-12 10:26                                             ` Wen Congyang
2015-06-12 10:54                                               ` Paul Durrant
2015-06-12 11:09                                                 ` Wen Congyang
2015-06-12 11:48                                                   ` Paul Durrant
2015-06-12 15:04                                                     ` Wen Congyang
2015-06-12 15:31                                                       ` Paul Durrant
2015-06-13  5:58                                                         ` Wen Congyang
2015-06-08  3:43 ` [PATCH v2 COLOPre 04/13] tools/libxc: export xc_bitops.h Yang Hongyang
2015-06-08 10:04   ` Yang Hongyang
2015-06-10 15:20   ` Ian Campbell
2015-06-11  2:07     ` Yang Hongyang
2015-06-11  8:41       ` Ian Campbell
2015-06-11 10:45         ` Andrew Cooper
2015-06-11 10:55           ` Ian Campbell
2015-06-15  1:50             ` Yang Hongyang
2015-06-08  3:43 ` [PATCH v2 COLOPre 05/13] tools/libxl: introduce a new API libxl__domain_restore() to load qemu state Yang Hongyang
2015-06-10 15:35   ` Ian Campbell
2015-06-11  2:09     ` Yang Hongyang
2015-06-11  8:43       ` Ian Campbell
2015-06-11  8:55         ` Yang Hongyang
2015-06-11  9:41           ` Ian Campbell
2015-06-08  3:43 ` [PATCH v2 COLOPre 06/13] tools/libxl: Introduce a new internal API libxl__domain_unpause() Yang Hongyang
2015-06-10 15:37   ` Ian Campbell
2015-06-11  2:21     ` Yang Hongyang
2015-06-11  8:43       ` Ian Campbell
2015-06-11  9:09         ` Wen Congyang
2015-06-11  9:42           ` Ian Campbell
2015-06-11  9:48             ` Wen Congyang
2015-06-12 11:23             ` Ian Jackson
2015-06-08  3:43 ` [PATCH v2 COLOPre 07/13] tools/libxl: Update libxl__domain_unpause() to support qemu-xen Yang Hongyang
2015-06-12 12:33   ` Wei Liu
2015-06-15  1:29     ` Yang Hongyang
2015-06-15 16:22       ` Wei Liu
2015-06-17  9:02         ` Yang Hongyang
2015-06-08  3:43 ` [PATCH v2 COLOPre 08/13] tools/libxl: introduce libxl__domain_common_switch_qemu_logdirty() Yang Hongyang
2015-06-16 10:45   ` Ian Campbell
2015-06-08  3:43 ` [PATCH v2 COLOPre 09/13] tools/libxl: Update libxl_save_msgs_gen.pl to support return data from xl to xc Yang Hongyang
2015-06-16 10:49   ` Ian Campbell
2015-06-16 10:54     ` Wen Congyang
2015-06-16 10:56       ` Ian Jackson
2015-06-16 11:01     ` Ian Jackson
2015-06-16 11:05   ` Ian Jackson
2015-06-16 14:19     ` Yang Hongyang
2015-06-08  3:43 ` [PATCH v2 COLOPre 10/13] tools/libxl: Add back channel to allow migration target send data back Yang Hongyang
2015-06-12 12:54   ` Wei Liu
2015-06-12 15:04     ` Ian Jackson
2015-06-15  1:38       ` Yang Hongyang
2015-06-16 10:52         ` Ian Campbell
2015-06-16 10:58           ` Ian Jackson
2015-06-15  1:33     ` Yang Hongyang
2015-06-08  3:43 ` [PATCH v2 COLOPre 11/13] tools/libxl: rename remus device to checkpoint device Yang Hongyang
2015-06-12 13:30   ` Wei Liu
2015-06-12 13:35     ` Wei Liu
2015-06-12 14:57       ` Ian Jackson
2015-06-15  1:45         ` Yang Hongyang
2015-06-15 16:24           ` Wei Liu
2015-06-16 10:53             ` Ian Campbell
2015-06-25  5:00               ` Yang Hongyang
2015-06-25  9:09                 ` Wei Liu
2015-06-25  9:16                   ` Yang Hongyang
2015-06-08  3:43 ` [PATCH v2 COLOPre 12/13] tools/libxl: adjust the indentation Yang Hongyang
2015-06-16 10:53   ` Ian Campbell
2015-06-08  3:43 ` [PATCH v2 COLOPre 13/13] tools/libxl: don't touch remus in checkpoint_device Yang Hongyang
2015-06-12 13:28   ` Wei Liu
2015-06-15  1:46     ` Yang Hongyang

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=55756757.7020900@cn.fujitsu.com \
    --to=yanghy@cn.fujitsu.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=eddie.dong@intel.com \
    --cc=guijianfeng@cn.fujitsu.com \
    --cc=ian.campbell@citrix.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=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.