From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Peter Xu <peterx@redhat.com>
Cc: qemu-devel@nongnu.org, kwolf@redhat.com, jdenemar@redhat.com,
wangjie88@huawei.com, quintela@redhat.com, mreitz@redhat.com,
berrange@redhat.com, eblake@redhat.com, fuweiwei2@huawei.com
Subject: Re: [Qemu-devel] [PATCH v3 0/7] migration: pause-before-switchover
Date: Fri, 20 Oct 2017 09:04:46 +0100 [thread overview]
Message-ID: <20171020080446.GA2272@work-vm> (raw)
In-Reply-To: <20171020024207.GA3990@pxdev.xzpeter.org>
* Peter Xu (peterx@redhat.com) wrote:
> On Thu, Oct 19, 2017 at 12:21:23PM +0100, Dr. David Alan Gilbert wrote:
> > * Peter Xu (peterx@redhat.com) wrote:
> > > On Wed, Oct 18, 2017 at 06:40:06PM +0100, Dr. David Alan Gilbert (git) wrote:
> > >
> > > [...]
> > >
> > > > The precopy flow is:
> > > > active->pre-switchover->device->completed
> > > >
> > > > The postcopy flow is:
> > > > active->pre-switchover->postcopy-active->completed
> > >
> > > The naming is still slightly confusing to me:
> > >
> > > (1) we have a capability called "pause-before-switchover", so it feels
> > > like there is something called "switchover" and if we enable this
> > > we'll pause before that point;
> > >
> > > (2) we have a new status "pre-switchover", it feels like that's the
> > > point before we are in "switchover" state;
> > >
> > > (3) we don't really have a "switchover" state, but instead it's called
> > > "device" which is exactly the "switchover" action.
> > >
> > > Considering (1) and (2), I would prefer "device" state to be just
> > > "switchover"...
> >
> > Yes I stuck to pause-before-device and device originally; but
> > what we're doing during the 'device' stage is mostly saving device
> > state; the actual switchover occurs at the end. So hmm.
>
> That's fine to me.
>
> >
> > > Further, not sure we can unify the state transition as well (say, we
> > > add this switchover state even without cap "pause-before-switchover"
> > > set, although it does not make much sense itself). Then, we can also
> > > unify the precopy/postcopy state machine into one:
> > >
> > > active->
> > > [pre-switchover->] (optional, decided by "pause-before-switchover")
> > > switchover->
> > > [postcopy-active->] (optional, decided by "postcopy-arm")
> > > completed
> >
> > I didn't want to change the state transition behaviour without the
> > capability set, since that could upset an existing libvirt that would
> > get confused by the new state.
>
> Indeed. However this (and also Juan's xbzrle cache size series) lets
> me think about whether we should loosen the "compatibility" sometimes.
>
> For most of the times, we are paying the compatibility bill by
> complicating the code logic. For this one, we satisfy live block
> migration logic to introduce two new state transition paths (for
> precopy and postcopy). I am just afraid we need to pay a larger bill
> some day.
>
> But I'd say it's only my worry; maybe it's just too superfluous.
Yes, it's true - almost all the behaviour we have forms part of our
API that we expose to libvirt; we have to be pretty careful.
> (I provided all r-bs, so the series looks good to me after all)
Thanks! One comment fix coming up soon as spotted by Jiri.
Dave
>
> Thanks,
>
> --
> Peter Xu
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2017-10-20 8:04 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-18 17:40 [Qemu-devel] [PATCH v3 0/7] migration: pause-before-switchover Dr. David Alan Gilbert (git)
2017-10-18 17:40 ` [Qemu-devel] [PATCH v3 1/7] migration: Add 'pause-before-switchover' capability Dr. David Alan Gilbert (git)
2017-10-19 4:17 ` Peter Xu
2017-10-18 17:40 ` [Qemu-devel] [PATCH v3 2/7] migration: Add 'pre-switchover' and 'device' statuses Dr. David Alan Gilbert (git)
2017-10-19 4:34 ` Peter Xu
2017-10-18 17:40 ` [Qemu-devel] [PATCH v3 3/7] migration: Wait for semaphore before completing migration Dr. David Alan Gilbert (git)
2017-10-19 4:39 ` Peter Xu
2017-10-18 17:40 ` [Qemu-devel] [PATCH v3 4/7] migration: migrate-continue Dr. David Alan Gilbert (git)
2017-10-19 4:43 ` Peter Xu
2017-10-19 14:33 ` Jiri Denemark
2017-10-19 14:37 ` Dr. David Alan Gilbert
2017-10-18 17:40 ` [Qemu-devel] [PATCH v3 5/7] migrate: HMP migate_continue Dr. David Alan Gilbert (git)
2017-10-19 4:44 ` Peter Xu
2017-10-18 17:40 ` [Qemu-devel] [PATCH v3 6/7] migration: allow cancel to unpause Dr. David Alan Gilbert (git)
2017-10-19 4:44 ` Peter Xu
2017-10-18 17:40 ` [Qemu-devel] [PATCH v3 7/7] migration: pause-before-switchover for postcopy Dr. David Alan Gilbert (git)
2017-10-19 5:08 ` Peter Xu
2017-10-19 4:31 ` [Qemu-devel] [PATCH v3 0/7] migration: pause-before-switchover Peter Xu
2017-10-19 11:21 ` Dr. David Alan Gilbert
2017-10-20 2:42 ` Peter Xu
2017-10-20 8:04 ` Dr. David Alan Gilbert [this message]
2017-10-19 15:24 ` Jiri Denemark
2017-10-19 19:10 ` Dr. David Alan Gilbert
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=20171020080446.GA2272@work-vm \
--to=dgilbert@redhat.com \
--cc=berrange@redhat.com \
--cc=eblake@redhat.com \
--cc=fuweiwei2@huawei.com \
--cc=jdenemar@redhat.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=wangjie88@huawei.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.