All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Wei Liu <wei.liu2@citrix.com>
Cc: Keir Fraser <keir@xen.org>,
	Ian Campbell <Ian.Campbell@citrix.com>, Tim Deegan <tim@xen.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Xen-devel <xen-devel@lists.xen.org>,
	Frediano Ziglio <frediano.ziglio@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	Hongyang Yang <yanghy@cn.fujitsu.com>
Subject: Re: [PATCH v5 0/14] Migration Stream v2
Date: Thu, 12 Jun 2014 15:18:55 +0100	[thread overview]
Message-ID: <5399B6CF.3000203@citrix.com> (raw)
In-Reply-To: <20140612134917.GB11959@zion.uk.xensource.com>

On 12/06/14 14:49, Wei Liu wrote:
> On Thu, Jun 12, 2014 at 02:27:39PM +0100, Andrew Cooper wrote:
>> On 12/06/14 04:17, Hongyang Yang wrote:
>>> Hi, Andrew,
>>>
>>> On 06/12/2014 02:14 AM, Andrew Cooper wrote:
>>>> Hello,
>>>>
>>>> Presented here for review is v5 of the Migration Stream v2 work.
>>>>
>>>> Major work in v5 is the legacy conversion python script which is
>>>> capable of
>>>> converting from legacy to v2 format on the fly.  It was tested using
>>>> live
>>>> migration saving in the legacy format, piping through the script and
>>>> restoring
>>>> using the v2 code.
>>>>
>>>> Other work includes a substantial refactoring of the code structure,
>>>> allowing
>>>> for a single generic save() and restore() functions, with function
>>>> pointer
>>>> hooks for each type of guest to implement.  The spec has been updated to
>>>> include PV MSRs in the migration stream.
>>>>
>>>>
>>>> This series depends on several prerequisite fixes which have recently
>>>> been
>>>> committed into staging (and have not passed the push gate at the time of
>>>> writing).  The series also depends on the VM Generation ID series
>>>> from David.
>>>>
>>>> I now consider the core of the v2 code stable.  I do not expect it to
>>>> change
>>>> much too much, other than the identified TODOs (and code review of
>>>> course).
>>>>
>>>>
>>>> The next area of work is the libxl integration, which will seek to
>>>> undo the
>>>> current layering violations.  It will involve introducing a new libxl
>>>> framing
>>>> format (which will happen to look curiously similar to the libxc framing
>>>> format), as well as providing legacy compatibility using the legacy
>>>> conversion
>>>> scripts so migrations from older libxl/libxc toolstacks will continue
>>>> to work.
>>> What are your plans for libxl integration, do you have any design
>>> specs or is
>>> it already implemented in the early stage?
>>
>> There is no code in place yet, and my first course of action is to
>> design how this is going to look.
>>
>> It is going to be conceptually similar, with libxl gaining a framing
>> format.  I also need to coordinate with Wei and his JSON series which is
>> moving data from xl to libxl.  There will be "save libxl v2", "restore
>> libxl v2" and "automatically convert old libxl to new libxl" which will
>> mostly involve the legacy conversion script.
>>
> AIUI you're going to use both the new JSON infrastructure and the
> configuration synchronisation bits, right? I shall upstream the rest of
> my JSON infrastructure when xen-unstable is unblocked, but the
> synchronisation bits will take longer.
>
> Wei.

I care about which (hopefully singular) legacy libxl migration format
needs to be converted, and what the new stream is going to look like.

>From my understanding (without any of your changes in place) the old
"libxl" stream has:

* xl header
   - contains "last boot .cfg file"
* 'libxl bits' which are passed straight to libxc


At a guess, the new stream wants to look something like:

* xl header
* libxl header
* libxl json "current configuration"
* libxc bits
* libxl xenstore key-value pairs record
* qemu record

where the legacy conversion script will have to deal with reframing the
old libxc bits in terms of the new libxl stream.

~Andrew

  reply	other threads:[~2014-06-12 14:18 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-11 18:14 [PATCH v5 0/14] Migration Stream v2 Andrew Cooper
2014-06-11 18:14 ` [PATCH v5 RFC 01/14] docs: libxc migration stream specification Andrew Cooper
2014-06-12  9:45   ` David Vrabel
2014-06-12 15:26   ` David Vrabel
2014-06-17 15:20   ` Ian Campbell
2014-06-17 17:42     ` Andrew Cooper
2014-06-17 16:40   ` Ian Campbell
2014-06-17 18:04     ` Andrew Cooper
2014-06-19  9:13       ` Hongyang Yang
2014-06-19  9:36         ` Andrew Cooper
2014-06-19 10:23           ` Hongyang Yang
2014-06-19 10:44             ` Andrew Cooper
2014-06-22 14:36               ` Shriram Rajagopalan
2014-06-22 16:01                 ` Andrew Cooper
2014-06-11 18:14 ` [PATCH v5 RFC 02/14] scripts: Scripts for inspection/valdiation of legacy and new streams Andrew Cooper
2014-06-12  9:48   ` David Vrabel
2014-06-11 18:14 ` [PATCH v5 RFC 03/14] [HACK] tools/libxc: save/restore v2 framework Andrew Cooper
2014-06-17 16:00   ` Ian Campbell
2014-06-17 16:17     ` Andrew Cooper
2014-06-17 16:47       ` Ian Campbell
2014-06-11 18:14 ` [PATCH v5 RFC 04/14] tools/libxc: C implementation of stream format Andrew Cooper
2014-06-12  9:52   ` David Vrabel
2014-06-12 15:31   ` David Vrabel
2014-06-17 15:55     ` Ian Campbell
2014-06-11 18:14 ` [PATCH v5 RFC 05/14] tools/libxc: noarch common code Andrew Cooper
2014-06-12  9:55   ` David Vrabel
2014-06-17 16:10   ` Ian Campbell
2014-06-17 16:28     ` Andrew Cooper
2014-06-17 16:53       ` Ian Campbell
2014-06-17 18:26         ` Andrew Cooper
2014-06-18  9:19           ` Ian Campbell
2014-06-11 18:14 ` [PATCH v5 RFC 06/14] tools/libxc: x86 " Andrew Cooper
2014-06-12  9:57   ` David Vrabel
2014-06-17 16:11     ` Ian Campbell
2014-06-11 18:14 ` [PATCH v5 RFC 07/14] tools/libxc: x86 PV " Andrew Cooper
2014-06-12  9:59   ` David Vrabel
2014-06-11 18:14 ` [PATCH v5 RFC 08/14] tools/libxc: x86 PV save code Andrew Cooper
2014-06-12 10:04   ` David Vrabel
2014-06-11 18:14 ` [PATCH v5 RFC 09/14] tools/libxc: x86 PV restore code Andrew Cooper
2014-06-12 10:08   ` David Vrabel
2014-06-12 15:49   ` David Vrabel
2014-06-12 17:01     ` Andrew Cooper
2014-06-17 16:22       ` Ian Campbell
2014-06-11 18:14 ` [PATCH v5 RFC 10/14] tools/libxc: x86 HVM common code Andrew Cooper
2014-06-12 10:11   ` David Vrabel
2014-06-17 16:22     ` Ian Campbell
2014-06-11 18:14 ` [PATCH v5 RFC 11/14] tools/libxc: x86 HVM save code Andrew Cooper
2014-06-12 10:12   ` David Vrabel
2014-06-12 15:55   ` David Vrabel
2014-06-12 17:07     ` Andrew Cooper
2014-06-17 16:25       ` Ian Campbell
2014-06-11 18:14 ` [PATCH v5 RFC 12/14] tools/libxc: x86 HVM restore code Andrew Cooper
2014-06-12 10:14   ` David Vrabel
2014-06-11 18:14 ` [PATCH v5 RFC 13/14] tools/libxc: noarch save code Andrew Cooper
2014-06-12 10:24   ` David Vrabel
2014-06-17 16:28     ` Ian Campbell
2014-06-17 16:38       ` David Vrabel
2014-06-17 16:54         ` Ian Campbell
2014-06-18  6:59   ` Hongyang Yang
2014-06-18  7:08     ` Hongyang Yang
2014-06-19  2:48   ` Wen Congyang
2014-06-19  9:19     ` Andrew Cooper
2014-06-22 14:02       ` Shriram Rajagopalan
2014-06-11 18:14 ` [PATCH v5 RFC 14/14] tools/libxc: noarch restore code Andrew Cooper
2014-06-12 10:27   ` David Vrabel
2014-06-12 16:05   ` David Vrabel
2014-06-12 17:16     ` Andrew Cooper
2014-06-19  6:16   ` Hongyang Yang
2014-06-19  9:00     ` Andrew Cooper
2014-06-12  3:17 ` [PATCH v5 0/14] Migration Stream v2 Hongyang Yang
2014-06-12 13:27   ` Andrew Cooper
2014-06-12 13:49     ` Wei Liu
2014-06-12 14:18       ` Andrew Cooper [this message]
2014-06-12 14:27         ` Wei Liu
2014-06-12  9:38 ` David Vrabel
2014-06-17 15:57   ` Ian Campbell

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=5399B6CF.3000203@citrix.com \
    --to=andrew.cooper3@citrix.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=JBeulich@suse.com \
    --cc=david.vrabel@citrix.com \
    --cc=frediano.ziglio@citrix.com \
    --cc=keir@xen.org \
    --cc=tim@xen.org \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    --cc=yanghy@cn.fujitsu.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.