[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



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.

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

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

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


 


Rackspace

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