[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
> -----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. 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |