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

Re: [Xen-devel] [PATCH v2 COLOPre 03/13] libxc/restore: zero ioreq page only one time



At 2015/6/12 23:31, Paul Durrant Wrote:
-----Original Message-----
From: Wen Congyang [mailto:ghostwcy@xxxxxxxxx]
Sent: 12 June 2015 16:05
To: Paul Durrant; Wen Congyang; Yang Hongyang; Andrew Cooper; xen-
devel@xxxxxxxxxxxxx
Cc: Wei Liu; Ian Campbell; guijianfeng@xxxxxxxxxxxxxx;
yunhong.jiang@xxxxxxxxx; Eddie Dong; rshriram@xxxxxxxxx; Ian Jackson
Subject: Re: [Xen-devel] [PATCH v2 COLOPre 03/13] libxc/restore: zero ioreq
page only one time

At 2015/6/12 19:48, Paul Durrant Wrote:
-----Original Message-----
From: Wen Congyang [mailto:wency@xxxxxxxxxxxxxx]
Sent: 12 June 2015 12:10
To: Paul Durrant; Yang Hongyang; Andrew Cooper; xen-
devel@xxxxxxxxxxxxx
Cc: Wei Liu; Ian Campbell; guijianfeng@xxxxxxxxxxxxxx;
yunhong.jiang@xxxxxxxxx; Eddie Dong; rshriram@xxxxxxxxx; Ian Jackson
Subject: Re: [Xen-devel] [PATCH v2 COLOPre 03/13] libxc/restore: zero
ioreq
page only one time

On 06/12/2015 06:54 PM, Paul Durrant wrote:
-----Original Message-----
From: Wen Congyang [mailto:wency@xxxxxxxxxxxxxx]
Sent: 12 June 2015 11:26
To: Paul Durrant; Yang Hongyang; Andrew Cooper; xen-
devel@xxxxxxxxxxxxx
Cc: Wei Liu; Ian Campbell; guijianfeng@xxxxxxxxxxxxxx;
yunhong.jiang@xxxxxxxxx; Eddie Dong; rshriram@xxxxxxxxx; Ian Jackson
Subject: Re: [Xen-devel] [PATCH v2 COLOPre 03/13] libxc/restore: zero
ioreq
page only one time

On 06/12/2015 03:41 PM, Paul Durrant wrote:
-----Original Message-----
From: Wen Congyang [mailto:wency@xxxxxxxxxxxxxx]
Sent: 12 June 2015 04:22
To: Paul Durrant; Yang Hongyang; Andrew Cooper; xen-
devel@xxxxxxxxxxxxx
Cc: Wei Liu; Ian Campbell; guijianfeng@xxxxxxxxxxxxxx;
yunhong.jiang@xxxxxxxxx; Eddie Dong; rshriram@xxxxxxxxx; Ian
Jackson
Subject: Re: [Xen-devel] [PATCH v2 COLOPre 03/13] libxc/restore:
zero
ioreq
page only one time

On 06/11/2015 09:25 PM, Paul Durrant wrote:
-----Original Message-----
From: Yang Hongyang [mailto:yanghy@xxxxxxxxxxxxxx]
Sent: 11 June 2015 13:59
To: Paul Durrant; Wen Congyang; Andrew Cooper; xen-
devel@xxxxxxxxxxxxx
Cc: Wei Liu; Ian Campbell; guijianfeng@xxxxxxxxxxxxxx;
yunhong.jiang@xxxxxxxxx; Eddie Dong; rshriram@xxxxxxxxx; Ian
Jackson
Subject: Re: [Xen-devel] [PATCH v2 COLOPre 03/13] libxc/restore:
zero
ioreq
page only one time



On 06/11/2015 06:20 PM, Paul Durrant wrote:
-----Original Message-----
From: Wen Congyang [mailto:wency@xxxxxxxxxxxxxx]
Sent: 11 June 2015 09:48
To: Paul Durrant; Andrew Cooper; Yang Hongyang; xen-
devel@xxxxxxxxxxxxx
Cc: Wei Liu; Ian Campbell; guijianfeng@xxxxxxxxxxxxxx;
[...]


In our implementation, we don't start a new emulator. The
codes
can
work,
but some bugs may be not triggered.


How do you reconcile the incoming QEMU save record with the
running
emulator state?

We introduce a qmp command "xen-load-devices-
state"(libxl__qmp_restore) which
can restore the emulator state. The step of resotre emulator state
at
a
checkpoint is:

1. libxl__qmp_stop    -> vm_stop() in qemu
2. libxl__qmp_restore -> load_vmstate() in qemu
3. libxl__qmp_resume  -> vm_start() in qemu


Ok, that sounds like the ideal time to hook back into Xen by
creating a
new
ioreq server.

I have some questions about ioreq server:
1. If we use old version xen and newest version qemu, is it OK? Is
default
     ioreq server created when the guest is created.
xen_create_ioreq_server()
does
     nothing, and xen_get_ioreq_server_info() will get the default
ioreq
server
information.
     Is it right?

No. It's not compatible in that direction. A new Xen will work with an
old
QEMU but not the other way round.

If the xen is newest, and qemu is old, how is the default ioreq server
created
for the emulator? Will the old qemu call xc_get_hvm_param(), and the
hypervisor
then creates a default ioreq server?
get is a 'readonly' operation, and creating the default ioreq server in it is
very strange.


Might be strange, but that's the way it's done.

If I only want to get the default ioreq server pfn, and don't want to
create the default
ioreq server, how can I do it?

At the moment you can't. If you read the pfns then you will instantiate the 
server, which I agree is a bit of a problem if you're only doing a domain save.

Yes, but we have to instantiate the server so old version qemu can work.
Can we add a new interface to just get the ioreq pfn, buffer ioreq pfn/evtchn?
For example HVM_PARAM_DEFAULT_IOREQ_PFN.

Thanks
Wen congyang


   Paul


Thanks
Wen Congyang



2. Why we create a default ioreq server when getting the hvm
param if
there
is already a
     not default ioreq server?

If something reads the 'legacy' HVM params then that is Xen's trigger
to
create the default server. Any 'new' emulator should be using the ioreq
server hypercalls so the default server will not be needed.

If there are two ioreq servers: default ioreq server, and a ioreq server
created by emulator. The guest can work it correctly in
this case?

You mean a secondary emulator? Yes, that's why there is the notion of
default ioreq server... to allow a secondary emulator to be used even
when
an old QEMU is in use.

No, only one emulator. Can we run more than one emulator for one hvm
guest? How
to do it?


Yes, more than one emulator can run. There's nothing in libxl to do it, but
we do it in XenServer using XAPI.


Is there any application(not emulator) that uses the libxenctrl
directly?


What do you mean by application? Toolstacks may use libxenctrl.

For example: libvirt. I know it uses libxl now. Is there any similar
application
which uses libxenctrl.

Well, XAPI uses it for one.

    Paul


Thanks
Wen Congyang


    Paul

Thanks
Wen Congyang


3. In the far end, we will clear the ioreq page, and this ioreq page is
used
for
default
     ioreq server, is it right?

Yes, AFAIK it's only the 'magic' pages that get cleared at the far end -
and
that includes the default server pages. Other ioreq servers will have
their
pages cleared on re-insertion to the P2M at the source end when the
server
is disabled.

    Paul


Thanks
Wen Congyang


    Paul


     Paul

Thanks
Wen Congyang


     Paul


Thanks
Wen Congyang


     Paul

We will set to the guest to a new state, the old state
should
be
dropped.

Thanks
Wen Congyang


     Paul


Thanks
Wen Congyang


     Paul


Thanks
Wen Congyang


~Andrew
.


.


.




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


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


.



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


--
Thanks,
Yang.
.


.


.



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



_______________________________________________
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®.