From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Frediano Ziglio <frediano.ziglio@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>,
David Vrabel <david.vrabel@citrix.com>,
Jan Beulich <JBeulich@suse.com>
Subject: Re: [PATCH 0/6] [VERY RFC] Migration Stream v2
Date: Thu, 10 Apr 2014 14:49:40 +0100 [thread overview]
Message-ID: <5346A174.9060308@citrix.com> (raw)
In-Reply-To: <1397135152.7528.9.camel@hamster.uk.xensource.com>
On 10/04/14 14:05, Frediano Ziglio wrote:
> On Thu, 2014-04-10 at 12:21 +0100, Andrew Cooper wrote:
>> On 10/04/14 11:42, Ian Campbell wrote:
>>> On Wed, 2014-04-09 at 19:28 +0100, Andrew Cooper wrote:
> ....
>>>> The error handling is known to only semi-consistent. Functions return 0 for
>>>> success and non-zero for failure. This is typically -1, although errno is not
>>>> always relevant. However, the logging messages should all be relevant and
>>>> correct. Making this properly consistent will involve wider effort across all
>>>> of libxc.
>>> It would be useful if the new code was correct at least so far as its
>>> own behaviour went (meaning no need to fix functions it calls as part of
>>> this).
>> libxc is too broken for that to be possible, (including such gems as the
>> save_callbacks functions which is not specified as to how to indicate
>> success or error, and have developed at least 3 different flavours)
>>
>> Currently, the state of play is "if you get non0, something went wrong.
>> Please read the log for relevant information" Once we get a libxc_err_t
>> (or so, given a discussion down the pub) capable of expressing more
>> meaningful error problems, most codepaths (including these new ones)
>> will need updating, although starting from a fairly-consistent position
>> will be much easier than not.
>>
> I agree with Ian, we should have a first patch that just replace
> xc_domain_save/xc_domain_restore. We can fix functions return and error
> later in another set of patches.
Which is surely agreeing with me... unless I am getting rather confused?
>
> Another consideration about these patches should be file names and code
> split thinking about ARM migration too. Too many functions are in x86
> specific files. For instance xc_domain_restore2 (in restore.c) should
> call a restore_arch_pv instead of a restore_x86_pv.
Very specifically not. xc_domain_restore2() currently contains
domain-agnostic restoration code. Yet-to-implement are
restore_x86_hvm() and restore_arm() which are expected to be in
restore_{x68_hvm,arm}.c. It is possible that some of the current helper
functions in restore_x86_pv.c should be prompted to common.
This is explicitly to undo the current rats nest of code in
xc_domain_{save,restore}(). I don't know why the PV and HVM migration
code was merged together in the past, but they have almost nothing in
common other than the format of the page batches (not even the content),
and wedging the code together has resulted in functions substantially
more complicated than the sum of their useful parts.
~Andrew
next prev parent reply other threads:[~2014-04-10 13:49 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-09 18:28 [PATCH 0/6] [VERY RFC] Migration Stream v2 Andrew Cooper
2014-04-09 18:28 ` [PATCH 1/6] [HACK] tools/libxc: save/restore v2 framework Andrew Cooper
2014-04-09 18:28 ` [PATCH 2/6] tools/libxc: Stream specification and some common code Andrew Cooper
2014-04-09 18:28 ` [PATCH 3/6] tools/libxc: Scripts for inspection/valdiation of legacy and new streams Andrew Cooper
2014-04-09 18:28 ` [PATCH 4/6] tools/libxc: x86 pv common code Andrew Cooper
2014-04-09 18:28 ` [PATCH 5/6] tools/libxc: x86 pv save implementation Andrew Cooper
2014-04-09 18:28 ` [PATCH 6/6] tools/libxc: x86 pv restore implementation Andrew Cooper
2014-04-10 10:42 ` [PATCH 0/6] [VERY RFC] Migration Stream v2 Ian Campbell
2014-04-10 11:21 ` Andrew Cooper
2014-04-10 13:05 ` Frediano Ziglio
2014-04-10 13:49 ` Andrew Cooper [this message]
2014-04-14 17:49 ` George Dunlap
2014-04-14 18:06 ` Andrew Cooper
2014-04-14 18:16 ` George Dunlap
2014-04-14 23:43 ` Andrew Cooper
2014-04-14 18:11 ` David Vrabel
2014-04-15 8:30 ` Frediano Ziglio
2014-04-15 10:35 ` Ian Jackson
2014-04-15 10:38 ` George Dunlap
2014-04-23 13:47 ` Ian Campbell
2014-04-23 14:02 ` Andrew Cooper
2014-04-23 14:13 ` 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=5346A174.9060308@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=xen-devel@lists.xen.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).