All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: rshriram@cs.ubc.ca, FNST-Yang Hongyang <yanghy@cn.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <ian.campbell@citrix.com>,
	Xen-devel <xen-devel@lists.xen.org>
Subject: Re: [PATCH 09/29] [HACK] tools/libxc: save/restore v2 framework
Date: Tue, 16 Sep 2014 15:54:43 -0400	[thread overview]
Message-ID: <20140916195443.GD2889@laptop.dumpdata.com> (raw)
In-Reply-To: <541822AD.5040706@citrix.com>

On Tue, Sep 16, 2014 at 12:44:45PM +0100, Andrew Cooper wrote:
> 
> On 15/09/2014 19:58, Konrad Rzeszutek Wilk wrote:
> >On Mon, Sep 15, 2014 at 04:09:51PM +0100, Andrew Cooper wrote:
> >>On 14/09/2014 11:23, Shriram Rajagopalan wrote:
> >>>On Sep 11, 2014 4:08 AM, "Andrew Cooper" <andrew.cooper3@citrix.com
> >>><mailto:andrew.cooper3@citrix.com>> wrote:
> >>>>On 11/09/14 12:01, Ian Campbell wrote:
> >>>>>On Thu, 2014-09-11 at 11:37 +0100, Andrew Cooper wrote:
> >>>>>>On 11/09/14 11:34, Ian Campbell wrote:
> >>>>>>>On Wed, 2014-09-10 at 18:10 +0100, Andrew Cooper wrote:
> >>>>>>>>For testing purposes, the environmental variable
> >>>"XG_MIGRATION_V2" allows the
> >>>>>>>>two save/restore codepaths to coexist, and have a runtime switch.
> >>>>>>>>
> >>>>>>>>It is indended that once this series is less RFC, the v2
> >>>framework will
> >>>>>>>>completely replace v1.
> >>>>>>>I think we are now at the point where this hack needs to be
> >>>dropped from
> >>>>>>>the series.
> >>>>>>One problem is remus.  My plan when dropping this patch was to
> >The other is 'tmem'. But 'tmem' has not yet been declared 'baked' so
> >not making it work from a release perspective is OK.
> >
> >With the 'tmem' maintainer hat on, however I would like to it work without
> >having to do anything :-) Which reminds me I need to follow up
> >on double-checking the migation hasn't bitrotten!
> 
> While reverse engineering the existing protocol is not too difficult, I
> think the TMEM migration needs redesigning.  From memory, there is a huge
> quantity of metadata which is sent redundantly (tmem pool uuid with every
> frame).  It would also benefit massively from some batching to help reduce
> the quantity of hypercalls made (5 per frame iirc).

Ugh.
.. snip..
> >>>before a feature freeze, while the rest of the series has still not
> >>>been reviewed at all for the past 3 months.
> >What is the dependency on "full remus" support? Is there a list of
> >all the different patchset that need to be reviewed?
> 
> As with TMEM, remus support needs redesigning, as it needs coordinated
> additions to both the libxc and libxl stream formats to support checkpoints
> without the current layer violations.
> 
> >
> >>I can appreciate your frustration on this point, and do not envy your
> >>position.
> >>
> >>The concern I have is that XenServer 6.5 is shipping with migrationv2 as
> >>we absolutely need it, given the 32->64bit upgrade.  We were hoping to
> >>get the new format committed in 4.5 to guarantee stability, but that is
> >>looking increasingly unlikely to happen.  As a result, it will probably
> >>have to go in early in 4.6, with extra care taken to ensure that no
> >>incompatible changes are made as a result of further review.
> >Could you tell me what are the benefits of having a v1 to v2 runtime
> >switch for developers/users besides the obvious (faster migration,
> >easier to understand code)?
> 
> Users should not notice a difference, other than it being faster.
> 
> From a developer point of view,
> 
> * It actually has some header information now
> * It is independent of the bitness of the toolstack (which is the key reason
> we needed to do it for XenServers switch from 32 to 64bit dom0)
> * The old format (little that it was) was basically inextensible for PV
> guests (See the PV MSRs thread)
> * It has allowed for dropping 2-level PV guest support, as well as other
> 32bit Xen bits.

The disadvantages are that:
 - Breaks tmem migration.
 - Breaks outside users of libxc (granted we don't specify an API for
   that, but I am not a huge fan of putting barriers).

> 
> >
> >For me it sounded that this would allow the community to also
> >test it and report bugs - which would be invaluable. And better
> >yet there is a env flag to swap between a baseline and new
> >code to ease the testing.
> 
> That was only supposed to be development, and removed when committed
> upstream.
> 
> ~Andrew
> 
> >
> >The risks seem quite contained - if something goes awry, folks can
> >use the v1 version - which should have the same amount of bugs
> >that it had in previous releases. And since it is on by default - so
> >only dedicated users would turn v2 on.
> >
> > From an maintaince perspective, it does add more code but then once
> >feature freeze hits we do not pay attention to features anymore,
> >but rather to bug-fixes.
> >
> >Hm, Ian's - what are you folks take on it?
> 

  reply	other threads:[~2014-09-16 19:54 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-10 17:10 [PATCH v7 0/29] Migration Stream v2 Andrew Cooper
2014-09-10 17:10 ` [PATCH 01/29] tools/libxl: Fix stray blank line from debug logging Andrew Cooper
2014-09-11 10:18   ` Ian Campbell
2014-09-10 17:10 ` [PATCH 02/29] tools/[lib]xl: Correct use of init/dispose for libxl_domain_restore_params Andrew Cooper
2014-09-11 10:19   ` Ian Campbell
2014-09-10 17:10 ` [PATCH 03/29] tools/libxc: Implement writev_exact() in the same style as write_exact() Andrew Cooper
2014-09-11 10:19   ` Ian Campbell
2014-09-11 10:57   ` Ian Campbell
2014-09-11 10:59     ` Andrew Cooper
2014-09-10 17:10 ` [PATCH 04/29] libxc/bitops: Add or() to the available bitmap operations Andrew Cooper
2014-09-11 10:21   ` Ian Campbell
2014-09-10 17:10 ` [PATCH 05/29] libxc/progress: Repurpose the current progress reporting infrastructure Andrew Cooper
2014-09-11 10:32   ` Ian Campbell
2014-09-11 14:03     ` Andrew Cooper
2014-09-11 14:06       ` Ian Campbell
2014-09-10 17:10 ` [PATCH 06/29] docs: libxc migration stream specification Andrew Cooper
2014-09-10 17:10 ` [PATCH 07/29] docs: libxl " Andrew Cooper
2014-09-11 10:45   ` Ian Campbell
2014-09-11 10:56     ` Andrew Cooper
2014-09-11 11:03       ` Ian Campbell
2014-09-11 11:10         ` Andrew Cooper
2014-09-10 17:10 ` [PATCH 08/29] tools/python: Infrastructure relating to migration v2 streams Andrew Cooper
2014-09-10 17:10 ` [PATCH 09/29] [HACK] tools/libxc: save/restore v2 framework Andrew Cooper
2014-09-11 10:34   ` Ian Campbell
2014-09-11 10:37     ` Andrew Cooper
2014-09-11 11:01       ` Ian Campbell
2014-09-11 11:04         ` Andrew Cooper
2014-09-11 11:10           ` Ian Campbell
2014-09-14 10:23           ` Shriram Rajagopalan
2014-09-15 15:09             ` Andrew Cooper
2014-09-15 18:58               ` Konrad Rzeszutek Wilk
2014-09-16 11:44                 ` Andrew Cooper
2014-09-16 19:54                   ` Konrad Rzeszutek Wilk [this message]
2014-09-10 17:10 ` [PATCH 10/29] tools/libxc: C implementation of stream format Andrew Cooper
2014-09-11 10:48   ` Ian Campbell
2014-09-10 17:10 ` [PATCH 11/29] tools/libxc: noarch common code Andrew Cooper
2014-09-11 10:52   ` Ian Campbell
2014-09-10 17:10 ` [PATCH 12/29] tools/libxc: x86 " Andrew Cooper
2014-09-10 17:10 ` [PATCH 13/29] tools/libxc: x86 PV " Andrew Cooper
2014-09-10 17:10 ` [PATCH 14/29] tools/libxc: x86 PV save code Andrew Cooper
2014-09-10 17:10 ` [PATCH 15/29] tools/libxc: x86 PV restore code Andrew Cooper
2014-09-10 17:10 ` [PATCH 16/29] tools/libxc: x86 HVM save code Andrew Cooper
2014-09-10 17:10 ` [PATCH 17/29] tools/libxc: x86 HVM restore code Andrew Cooper
2014-09-10 17:10 ` [PATCH 18/29] tools/libxc: noarch save code Andrew Cooper
2014-09-10 17:10 ` [PATCH 19/29] tools/libxc: noarch restore code Andrew Cooper
2014-09-10 17:10 ` [PATCH 20/29] tools/libxl: Update datacopier to support sending data only Andrew Cooper
2014-09-11 11:56   ` Ian Campbell
2014-09-11 12:00     ` Andrew Cooper
2014-09-11 12:39       ` Ian Campbell
2014-09-11 13:03         ` Andrew Cooper
2014-09-11 13:04           ` Ian Campbell
2014-09-10 17:10 ` [PATCH 21/29] tools/libxl: Allow adding larger amounts of prefixdata to datacopier Andrew Cooper
2014-09-11 12:01   ` Ian Campbell
2014-09-11 12:17     ` Ross Lagerwall
2014-09-11 12:39       ` Ian Campbell
2014-09-10 17:11 ` [PATCH 22/29] tools/libxl: Allow limiting amount copied by datacopier Andrew Cooper
2014-09-11 12:02   ` Ian Campbell
2014-09-11 12:23     ` Ross Lagerwall
2014-09-11 12:40       ` Ian Campbell
2014-09-12  8:36   ` Wen Congyang
2014-09-19  7:45     ` Ross Lagerwall
2014-09-10 17:11 ` [PATCH 23/29] tools/libxl: Extend datacopier to support reading into a buffer Andrew Cooper
2014-09-11 12:03   ` Ian Campbell
2014-09-11 12:26     ` Ross Lagerwall
2014-09-11 12:41       ` Ian Campbell
2014-09-12  8:49   ` Wen Congyang
2014-09-19  7:48     ` Ross Lagerwall
2014-09-10 17:11 ` [PATCH 24/29] tools/libxl: Allow suppression of POLLHUP for datacopiers Andrew Cooper
2014-09-11 12:05   ` Ian Campbell
2014-09-10 17:11 ` [PATCH 25/29] tools/libxl: Stream v2 format Andrew Cooper
2014-09-11 12:06   ` Ian Campbell
2014-09-10 17:11 ` [PATCH 26/29] tools/libxl: Implement libxl__domain_restore() for v2 streams Andrew Cooper
2014-09-11 12:35   ` Ian Campbell
2014-09-11 13:01     ` Andrew Cooper
2014-09-10 17:11 ` [PATCH 27/29] [VERY RFC] tools/libxl: Support restoring legacy streams Andrew Cooper
2014-09-11 12:36   ` Ian Campbell
2014-09-10 17:11 ` [PATCH 28/29] tools/xl: Restore v2 streams using new interface Andrew Cooper
2014-09-10 17:11 ` [PATCH 29/29] tools/[lib]xl: Alter libxl_domain_suspend() to write a v2 stream Andrew Cooper
2014-09-11 11:50 ` [PATCH v7 0/29] Migration Stream v2 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=20140916195443.GD2889@laptop.dumpdata.com \
    --to=konrad.wilk@oracle.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=ian.campbell@citrix.com \
    --cc=rshriram@cs.ubc.ca \
    --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.