All of lore.kernel.org
 help / color / mirror / Atom feed
* Migration v2 and related work for 4.6
@ 2015-04-01 11:03 Andrew Cooper
  2015-04-02  9:03 ` Ian Campbell
  2015-04-07 11:59 ` Wei Liu
  0 siblings, 2 replies; 10+ messages in thread
From: Andrew Cooper @ 2015-04-01 11:03 UTC (permalink / raw)
  To: Wei Liu, Ian Campbell, Ian Jackson, Wen Congyang,
	Shriram Rajagopalan, Hongyang Yang, Vijay Kilari
  Cc: Xen-devel List

Hello,

I believe I have CC'd all interested parties.  If I have missed anyone,
please shout.

There are several large series:
* Cancellable async operations
* COLO

and a wish to start experimenting with migration on ARM which all
interact with my large series for migration v2 support in libxc and libxl.

I am working on the libxl side of things, but realise that I am being a
blockage to the other areas waiting on migration v2.

The current state of the libxc bit is functionally complete.  It is
shipping in two versions of XenServer, has not changed substantially in
9 months, and not changed in a backwards incompatible way since v1.

I propose that the libxc series be accepted independently of the libxl
series.  The libxc series is still implemented as an API-compatible
alternative to legacy migration, and is not enabled by default, meaning
no change to current users.

However, it will unblock development of ARM migration and COLO, and will
allow people in the wider community to experiment with migration v2.  An
existing `xl migrate` can be swapped from legacy to migration v2 simply
by setting an environment variable (for PV guests.  HVM requires the
libxl changed as the handling of the Qemu save record is changing.)

I feel that this is best interest for the community, to get some testing
available earlier in the development cycle, rather than attempting to
splice 3 large series in a related area together towards the code freeze.

Thoughts? (especially from a release management point of view)

~Andrew

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Migration v2 and related work for 4.6
  2015-04-01 11:03 Migration v2 and related work for 4.6 Andrew Cooper
@ 2015-04-02  9:03 ` Ian Campbell
  2015-04-02  9:34   ` Andrew Cooper
  2015-04-07 11:59 ` Wei Liu
  1 sibling, 1 reply; 10+ messages in thread
From: Ian Campbell @ 2015-04-02  9:03 UTC (permalink / raw)
  To: Andrew Cooper
  Cc: Wei Liu, Wen Congyang, Vijay Kilari, Ian Jackson, Xen-devel List,
	Shriram Rajagopalan, Hongyang Yang

On Wed, 2015-04-01 at 12:03 +0100, Andrew Cooper wrote:
> I propose that the libxc series be accepted independently of the libxl
> series.

That is most likely a good idea IMHO.

What do you estimate the chances of the libxl bit being done for 4.6 to
be?

Is there an option of actually switching to the new libxc without
switching libxl and fixing libxl later, or would that be as much work as
just fixing libxl?

Ian.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Migration v2 and related work for 4.6
  2015-04-02  9:03 ` Ian Campbell
@ 2015-04-02  9:34   ` Andrew Cooper
  2015-04-07 12:00     ` Wei Liu
  0 siblings, 1 reply; 10+ messages in thread
From: Andrew Cooper @ 2015-04-02  9:34 UTC (permalink / raw)
  To: Ian Campbell
  Cc: Wei Liu, Wen Congyang, Vijay Kilari, Ian Jackson, Xen-devel List,
	Shriram Rajagopalan, Hongyang Yang

On 02/04/15 10:03, Ian Campbell wrote:
> On Wed, 2015-04-01 at 12:03 +0100, Andrew Cooper wrote:
>> I propose that the libxc series be accepted independently of the libxl
>> series.
> That is most likely a good idea IMHO.
>
> What do you estimate the chances of the libxl bit being done for 4.6 to
> be?

I hope to have everything complete for 4.6, including removal of the
legacy code.

Given the current timescales, I would say most likely.

>
> Is there an option of actually switching to the new libxc without
> switching libxl and fixing libxl later, or would that be as much work as
> just fixing libxl?

For PV guests, yes.  One can transparently swap the legacy algorithm
from the v2 algorithm and every works.

For HVM guests, no.  The handling of the Qemu save record and toolstack
records needs fixing.

In the upgrade case, libxl also needs to take care of piping the legacy
stream through the conversion script.

~Andrew

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Migration v2 and related work for 4.6
  2015-04-01 11:03 Migration v2 and related work for 4.6 Andrew Cooper
  2015-04-02  9:03 ` Ian Campbell
@ 2015-04-07 11:59 ` Wei Liu
  2015-04-15 12:52   ` Ian Campbell
  1 sibling, 1 reply; 10+ messages in thread
From: Wei Liu @ 2015-04-07 11:59 UTC (permalink / raw)
  To: Andrew Cooper
  Cc: Wei Liu, Ian Campbell, Wen Congyang, Ian Jackson, Xen-devel List,
	Shriram Rajagopalan, Hongyang Yang, Vijay Kilari

On Wed, Apr 01, 2015 at 12:03:51PM +0100, Andrew Cooper wrote:
> Hello,
> 
> I believe I have CC'd all interested parties.  If I have missed anyone,
> please shout.
> 
> There are several large series:
> * Cancellable async operations
> * COLO
> 
> and a wish to start experimenting with migration on ARM which all
> interact with my large series for migration v2 support in libxc and libxl.
> 
> I am working on the libxl side of things, but realise that I am being a
> blockage to the other areas waiting on migration v2.
> 
> The current state of the libxc bit is functionally complete.  It is
> shipping in two versions of XenServer, has not changed substantially in
> 9 months, and not changed in a backwards incompatible way since v1.
> 
> I propose that the libxc series be accepted independently of the libxl
> series.  The libxc series is still implemented as an API-compatible
> alternative to legacy migration, and is not enabled by default, meaning
> no change to current users.
> 
> However, it will unblock development of ARM migration and COLO, and will
> allow people in the wider community to experiment with migration v2.  An
> existing `xl migrate` can be swapped from legacy to migration v2 simply
> by setting an environment variable (for PV guests.  HVM requires the
> libxl changed as the handling of the Qemu save record is changing.)
> 
> I feel that this is best interest for the community, to get some testing
> available earlier in the development cycle, rather than attempting to
> splice 3 large series in a related area together towards the code freeze.
> 
> Thoughts? (especially from a release management point of view)
> 

I've looked at your libxc series. It looks complete. I agree it would be
good to get it in as early as possible.

Wei.

> ~Andrew

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Migration v2 and related work for 4.6
  2015-04-02  9:34   ` Andrew Cooper
@ 2015-04-07 12:00     ` Wei Liu
  2015-04-07 12:58       ` Andrew Cooper
  2015-04-21 10:36       ` Lars Kurth
  0 siblings, 2 replies; 10+ messages in thread
From: Wei Liu @ 2015-04-07 12:00 UTC (permalink / raw)
  To: Andrew Cooper
  Cc: Wei Liu, Ian Campbell, Wen Congyang, Ian Jackson, Xen-devel List,
	Shriram Rajagopalan, Hongyang Yang, Vijay Kilari

On Thu, Apr 02, 2015 at 10:34:34AM +0100, Andrew Cooper wrote:
> On 02/04/15 10:03, Ian Campbell wrote:
> > On Wed, 2015-04-01 at 12:03 +0100, Andrew Cooper wrote:
> >> I propose that the libxc series be accepted independently of the libxl
> >> series.
> > That is most likely a good idea IMHO.
> >
> > What do you estimate the chances of the libxl bit being done for 4.6 to
> > be?
> 
> I hope to have everything complete for 4.6, including removal of the
> legacy code.
> 

Not sure what "legacy code" you're referring to, but we definitely want
to support 4.5 -> 4.6 migration so the "legacy code" might need to stay
for 4.6?

Wei.

> Given the current timescales, I would say most likely.
> 
> >
> > Is there an option of actually switching to the new libxc without
> > switching libxl and fixing libxl later, or would that be as much work as
> > just fixing libxl?
> 
> For PV guests, yes.  One can transparently swap the legacy algorithm
> from the v2 algorithm and every works.
> 
> For HVM guests, no.  The handling of the Qemu save record and toolstack
> records needs fixing.
> 
> In the upgrade case, libxl also needs to take care of piping the legacy
> stream through the conversion script.
> 
> ~Andrew

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Migration v2 and related work for 4.6
  2015-04-07 12:00     ` Wei Liu
@ 2015-04-07 12:58       ` Andrew Cooper
  2015-04-21 10:36       ` Lars Kurth
  1 sibling, 0 replies; 10+ messages in thread
From: Andrew Cooper @ 2015-04-07 12:58 UTC (permalink / raw)
  To: Wei Liu
  Cc: Ian Campbell, Wen Congyang, Ian Jackson, Xen-devel List,
	Shriram Rajagopalan, Hongyang Yang, Vijay Kilari

On 07/04/15 13:00, Wei Liu wrote:
> On Thu, Apr 02, 2015 at 10:34:34AM +0100, Andrew Cooper wrote:
>> On 02/04/15 10:03, Ian Campbell wrote:
>>> On Wed, 2015-04-01 at 12:03 +0100, Andrew Cooper wrote:
>>>> I propose that the libxc series be accepted independently of the libxl
>>>> series.
>>> That is most likely a good idea IMHO.
>>>
>>> What do you estimate the chances of the libxl bit being done for 4.6 to
>>> be?
>> I hope to have everything complete for 4.6, including removal of the
>> legacy code.
>>
> Not sure what "legacy code" you're referring to, but we definitely want
> to support 4.5 -> 4.6 migration so the "legacy code" might need to stay
> for 4.6?

"legacy migration" is what currently exists.

Backwards compatibility is provided by a short python script which
converts legacy to v2.

Once the libxl changes are complete, xc_domain_save.c and
xc_domain_restore.c can be deleted, along with other assorted bits and
pieces.

~Andrew

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Migration v2 and related work for 4.6
  2015-04-07 11:59 ` Wei Liu
@ 2015-04-15 12:52   ` Ian Campbell
  2015-04-15 12:57     ` Andrew Cooper
  0 siblings, 1 reply; 10+ messages in thread
From: Ian Campbell @ 2015-04-15 12:52 UTC (permalink / raw)
  To: Wei Liu
  Cc: Wen Congyang, Vijay Kilari, Andrew Cooper, Ian Jackson,
	Xen-devel List, Shriram Rajagopalan, Hongyang Yang

On Tue, 2015-04-07 at 12:59 +0100, Wei Liu wrote:
> On Wed, Apr 01, 2015 at 12:03:51PM +0100, Andrew Cooper wrote:
> > Hello,
> > 
> > I believe I have CC'd all interested parties.  If I have missed anyone,
> > please shout.
> > 
> > There are several large series:
> > * Cancellable async operations
> > * COLO
> > 
> > and a wish to start experimenting with migration on ARM which all
> > interact with my large series for migration v2 support in libxc and libxl.
> > 
> > I am working on the libxl side of things, but realise that I am being a
> > blockage to the other areas waiting on migration v2.
> > 
> > The current state of the libxc bit is functionally complete.  It is
> > shipping in two versions of XenServer, has not changed substantially in
> > 9 months, and not changed in a backwards incompatible way since v1.
> > 
> > I propose that the libxc series be accepted independently of the libxl
> > series.  The libxc series is still implemented as an API-compatible
> > alternative to legacy migration, and is not enabled by default, meaning
> > no change to current users.
> > 
> > However, it will unblock development of ARM migration and COLO, and will
> > allow people in the wider community to experiment with migration v2.  An
> > existing `xl migrate` can be swapped from legacy to migration v2 simply
> > by setting an environment variable (for PV guests.  HVM requires the
> > libxl changed as the handling of the Qemu save record is changing.)
> > 
> > I feel that this is best interest for the community, to get some testing
> > available earlier in the development cycle, rather than attempting to
> > splice 3 large series in a related area together towards the code freeze.
> > 
> > Thoughts? (especially from a release management point of view)
> > 
> 
> I've looked at your libxc series. It looks complete. I agree it would be
> good to get it in as early as possible.

I think the question is more at what point should we flip the switch and
make that new code the default without needing to set magic envvars?

Or to take it a step further, when can we delete all the old code.

Ian.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Migration v2 and related work for 4.6
  2015-04-15 12:52   ` Ian Campbell
@ 2015-04-15 12:57     ` Andrew Cooper
  2015-04-15 13:23       ` Ian Campbell
  0 siblings, 1 reply; 10+ messages in thread
From: Andrew Cooper @ 2015-04-15 12:57 UTC (permalink / raw)
  To: Ian Campbell, Wei Liu
  Cc: Wen Congyang, Vijay Kilari, Ian Jackson, Xen-devel List,
	Shriram Rajagopalan, Hongyang Yang

On 15/04/15 13:52, Ian Campbell wrote:
> On Tue, 2015-04-07 at 12:59 +0100, Wei Liu wrote:
>> On Wed, Apr 01, 2015 at 12:03:51PM +0100, Andrew Cooper wrote:
>>> Hello,
>>>
>>> I believe I have CC'd all interested parties.  If I have missed anyone,
>>> please shout.
>>>
>>> There are several large series:
>>> * Cancellable async operations
>>> * COLO
>>>
>>> and a wish to start experimenting with migration on ARM which all
>>> interact with my large series for migration v2 support in libxc and libxl.
>>>
>>> I am working on the libxl side of things, but realise that I am being a
>>> blockage to the other areas waiting on migration v2.
>>>
>>> The current state of the libxc bit is functionally complete.  It is
>>> shipping in two versions of XenServer, has not changed substantially in
>>> 9 months, and not changed in a backwards incompatible way since v1.
>>>
>>> I propose that the libxc series be accepted independently of the libxl
>>> series.  The libxc series is still implemented as an API-compatible
>>> alternative to legacy migration, and is not enabled by default, meaning
>>> no change to current users.
>>>
>>> However, it will unblock development of ARM migration and COLO, and will
>>> allow people in the wider community to experiment with migration v2.  An
>>> existing `xl migrate` can be swapped from legacy to migration v2 simply
>>> by setting an environment variable (for PV guests.  HVM requires the
>>> libxl changed as the handling of the Qemu save record is changing.)
>>>
>>> I feel that this is best interest for the community, to get some testing
>>> available earlier in the development cycle, rather than attempting to
>>> splice 3 large series in a related area together towards the code freeze.
>>>
>>> Thoughts? (especially from a release management point of view)
>>>
>> I've looked at your libxc series. It looks complete. I agree it would be
>> good to get it in as early as possible.
> I think the question is more at what point should we flip the switch and
> make that new code the default without needing to set magic envvars?
>
> Or to take it a step further, when can we delete all the old code.

The other bits needed are:

* Remus/Migrationv2 (not too much, judging from the rfc set)
* A decision regarding tmem.  That is one bit not covered at all any of
the new code, or the legacy conversion.
* Libxl/migrationv2

The libxl migration v2 will contain the legacy->v2 conversion scripts,
which will cover the backwards compatibility aspect.

It is my hope that I can submit a very large pruning patch in time for 4.6.

~Andrew

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Migration v2 and related work for 4.6
  2015-04-15 12:57     ` Andrew Cooper
@ 2015-04-15 13:23       ` Ian Campbell
  0 siblings, 0 replies; 10+ messages in thread
From: Ian Campbell @ 2015-04-15 13:23 UTC (permalink / raw)
  To: Andrew Cooper, Konrad Rzeszutek Wilk
  Cc: Wei Liu, Wen Congyang, Vijay Kilari, Ian Jackson, Xen-devel List,
	Shriram Rajagopalan, Hongyang Yang

On Wed, 2015-04-15 at 13:57 +0100, Andrew Cooper wrote:
> On 15/04/15 13:52, Ian Campbell wrote:
> > On Tue, 2015-04-07 at 12:59 +0100, Wei Liu wrote:
> >> On Wed, Apr 01, 2015 at 12:03:51PM +0100, Andrew Cooper wrote:
> >>> Hello,
> >>>
> >>> I believe I have CC'd all interested parties.  If I have missed anyone,
> >>> please shout.
> >>>
> >>> There are several large series:
> >>> * Cancellable async operations
> >>> * COLO
> >>>
> >>> and a wish to start experimenting with migration on ARM which all
> >>> interact with my large series for migration v2 support in libxc and libxl.
> >>>
> >>> I am working on the libxl side of things, but realise that I am being a
> >>> blockage to the other areas waiting on migration v2.
> >>>
> >>> The current state of the libxc bit is functionally complete.  It is
> >>> shipping in two versions of XenServer, has not changed substantially in
> >>> 9 months, and not changed in a backwards incompatible way since v1.
> >>>
> >>> I propose that the libxc series be accepted independently of the libxl
> >>> series.  The libxc series is still implemented as an API-compatible
> >>> alternative to legacy migration, and is not enabled by default, meaning
> >>> no change to current users.
> >>>
> >>> However, it will unblock development of ARM migration and COLO, and will
> >>> allow people in the wider community to experiment with migration v2.  An
> >>> existing `xl migrate` can be swapped from legacy to migration v2 simply
> >>> by setting an environment variable (for PV guests.  HVM requires the
> >>> libxl changed as the handling of the Qemu save record is changing.)
> >>>
> >>> I feel that this is best interest for the community, to get some testing
> >>> available earlier in the development cycle, rather than attempting to
> >>> splice 3 large series in a related area together towards the code freeze.
> >>>
> >>> Thoughts? (especially from a release management point of view)
> >>>
> >> I've looked at your libxc series. It looks complete. I agree it would be
> >> good to get it in as early as possible.
> > I think the question is more at what point should we flip the switch and
> > make that new code the default without needing to set magic envvars?
> >
> > Or to take it a step further, when can we delete all the old code.
> 
> The other bits needed are:
> 
> * Remus/Migrationv2 (not too much, judging from the rfc set)
> * A decision regarding tmem.  That is one bit not covered at all any of
> the new code, or the legacy conversion.

Adding the tmem maintainer.

Konrad, I think you tmem guys need to step up to the plate and make tmem
work with migration v2, AIUI this has been known for a while and I'm not
in favour of stalling migr2 while we wait.

> * Libxl/migrationv2

> The libxl migration v2 will contain the legacy->v2 conversion scripts,
> which will cover the backwards compatibility aspect.

Ah, OK, and this is why we can't just throw the switch on the libxc side
and do libxl later (for 4.6 or not). I think you've explained this to me
repeatedly and I keep forgetting...

> It is my hope that I can submit a very large pruning patch in time for 4.6.

Great!

Ian.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Migration v2 and related work for 4.6
  2015-04-07 12:00     ` Wei Liu
  2015-04-07 12:58       ` Andrew Cooper
@ 2015-04-21 10:36       ` Lars Kurth
  1 sibling, 0 replies; 10+ messages in thread
From: Lars Kurth @ 2015-04-21 10:36 UTC (permalink / raw)
  To: Wei Liu
  Cc: Ian Campbell, Wen Congyang, Andrew Cooper, Ian Jackson,
	Xen-devel List, Shriram Rajagopalan, Hongyang Yang, Vijay Kilari

We could discuss at the Hackathon next week, and reply to this thread. It seems that at least 50% of all the stake-holders are in fact there
Regards
Lars

> On 7 Apr 2015, at 13:00, Wei Liu <wei.liu2@citrix.com> wrote:
> 
> On Thu, Apr 02, 2015 at 10:34:34AM +0100, Andrew Cooper wrote:
>> On 02/04/15 10:03, Ian Campbell wrote:
>>> On Wed, 2015-04-01 at 12:03 +0100, Andrew Cooper wrote:
>>>> I propose that the libxc series be accepted independently of the libxl
>>>> series.
>>> That is most likely a good idea IMHO.
>>> 
>>> What do you estimate the chances of the libxl bit being done for 4.6 to
>>> be?
>> 
>> I hope to have everything complete for 4.6, including removal of the
>> legacy code.
>> 
> 
> Not sure what "legacy code" you're referring to, but we definitely want
> to support 4.5 -> 4.6 migration so the "legacy code" might need to stay
> for 4.6?
> 
> Wei.
> 
>> Given the current timescales, I would say most likely.
>> 
>>> 
>>> Is there an option of actually switching to the new libxc without
>>> switching libxl and fixing libxl later, or would that be as much work as
>>> just fixing libxl?
>> 
>> For PV guests, yes.  One can transparently swap the legacy algorithm
>> from the v2 algorithm and every works.
>> 
>> For HVM guests, no.  The handling of the Qemu save record and toolstack
>> records needs fixing.
>> 
>> In the upgrade case, libxl also needs to take care of piping the legacy
>> stream through the conversion script.
>> 
>> ~Andrew
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-04-21 10:36 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-01 11:03 Migration v2 and related work for 4.6 Andrew Cooper
2015-04-02  9:03 ` Ian Campbell
2015-04-02  9:34   ` Andrew Cooper
2015-04-07 12:00     ` Wei Liu
2015-04-07 12:58       ` Andrew Cooper
2015-04-21 10:36       ` Lars Kurth
2015-04-07 11:59 ` Wei Liu
2015-04-15 12:52   ` Ian Campbell
2015-04-15 12:57     ` Andrew Cooper
2015-04-15 13:23       ` Ian Campbell

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.