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

Re: [Xen-devel] [PATCH v2 6/6] libxl/save: Refactor libxl__domain_suspend_state



On 16/06/15 14:26, Ian Jackson wrote:
> Yang Hongyang writes ("[PATCH v2 6/6] libxl/save: Refactor 
> libxl__domain_suspend_state"):
>> Currently struct libxl__domain_suspend_state contains 2 type of states,
>> one is save state, another is suspend state. This patch separate it out.
>> The motivation of this is that COLO will need to do suspend/resume
>> continuesly, we need a more common suspend state.
> Currently in libxl/libxc/etc.  "suspend" and "save" have referred to
> the same thing, but different terminology has been used at different
> layers.  Ie both "suspend" and "save" each refer to either or both of
> "save to disk" or "suspend for live migrate", or to the relevant
> underlying mechanisms.
>
> So I'm not sure introducing a distinction between those two terms in
> libxl is really helpful.  If it is to be done there should be a clear
> explanation of what the difference is.
>
> On IRC you said:
>
> 14:21 <yanghy> Diziet, currently, in libxl, suspend is used as 2
>                means, one is save(corrspond to libxc save), another is
>                suspend the guest(related to suspend callback)
>
> That's rather different, I think.  Or, at least, I'm not sure that I
> understand this distinction as you are making it.  The suspend
> callback is part of the implementation of what at higher layers we
> save/suspend/restore/migration.
>
> AIUI this callback is related to pausing the guest, or manipulating
> its VCPUs ?  Perhaps we should rename this callback ?  Maybe Andrew
> Cooper can suggest a name ?
>
> Forgive me if I'm confused and going off in the wrong direction...

The terminology used by libxc is more consistent in this area.

"suspend" refers to quiescing the VM, so pausing qemu, making a
remote_shutdown(SHUTDOWN_suspend) hypercall etc.

"save" refers to the actions involved in actually shuffling the state of
the VM, so xc_domain_save() etc.

I believe that these are useful distinctions to maintain.  libxl
currently uses "suspend" to encapsulate both.

~Andrew

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