From: Dor Laor <dlaor@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: qemu-devel <qemu-devel@nongnu.org>,
Paolo Bonzini <pbonzini@redhat.com>,
Eduardo Habkost <ehabkost@redhat.com>,
Gleb Natapov <gleb@redhat.com>,
Juan Quintela <quintela@trasno.org>
Subject: Re: [Qemu-devel] Re: Live migration protocol, device features, ABIs and other beasts
Date: Tue, 24 Nov 2009 13:00:24 +0200 [thread overview]
Message-ID: <4B0BBCC8.7000909@redhat.com> (raw)
In-Reply-To: <4B0AD440.1020800@codemonkey.ws>
On 11/23/2009 08:28 PM, Anthony Liguori wrote:
> Eduardo Habkost wrote:
>> That may be good enough for upstream Qemu, but IMO for RHEL it is not a
>> realistic policy. If the definition of "guest visible state" is buggy on
>> the current implementation, we can't drop entirely the possibility of
>> fixing it on our stable branch.
>
> After mulling over it a bit, here's what I'd suggest:
>
> 1) Integrate VMstate with qdev
> 2) Introduce a bitmap blacklist for unsupported VMstate versions
> 3) Expose that bitmap as a qdev property for each device.
> 4) By default, upstream qemu will always set the bitmap to be 100% correct.
>
> This provides a mechanism for informed users and downstreams to reduce
> correctness in favor of migration compatibility on a case-by-case basis.
>
> This takes qemu out of the business of creating these sort of policies
> but allows RHEL to make decisions about what default policy it uses. It
> also lets well informed users of RHEL to override those policy decisions
> when they deem it to be appropriate.
>
> This would make me happy both from an upstream qemu perspective but also
> as a consumer of RHEL.
How does this improves the pvclock MSR migration problem?
This is a 5.4.1 -> 5.4.0 migration problem that was originated by time
drift of pvlcock *on* live migration...
It doesn't work today and it will surely be put in the black list if
implemented this way. Only windows guest might get benefit out of it
since they do not use pvclock, but it will turn into management night
mare instead.
In Qemu we know best what fields/sections are optional and what are must
have.
If we'll move into a real protocol with specification of every device
and chunk blocks similar to Paolo/Eduardo suggestions will have maximum
flexibility and we can allow such migration to happen.
IMHO we need to standartize the migration protocol like an other network
protocol. The current approach is to use qdev and -M and it's not good
enough. We should make an effort and try to harden it.
It's the same as the user/kernel ABI - usermode query capabilities, not
version number.
Lastly, coming to think of it, we should make the migration fail at the
beginning instead of doing all the dirty bit tracking + pause the VM and
only then be surprised by different version/capability.
>
> Regards,
>
> Anthony Liguori
>
>
>
>
next prev parent reply other threads:[~2009-11-24 11:00 UTC|newest]
Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-22 15:03 [Qemu-devel] Live migration protocol, device features, ABIs and other beasts Dor Laor
2009-11-22 15:49 ` Anthony Liguori
2009-11-22 20:22 ` [Qemu-devel] " Paolo Bonzini
2009-11-23 2:17 ` Anthony Liguori
2009-11-23 8:18 ` Paolo Bonzini
2009-11-23 13:04 ` Anthony Liguori
2009-11-23 8:26 ` Gleb Natapov
2009-11-23 9:29 ` Paolo Bonzini
2009-11-23 9:31 ` Gleb Natapov
[not found] ` <m3einp4e7c.fsf@neno.neno>
2009-11-23 12:37 ` Gleb Natapov
[not found] ` <m3iqd14edf.fsf@neno.neno>
2009-11-23 12:36 ` Gleb Natapov
[not found] ` <m3r5rpwcww.fsf@neno.neno>
2009-11-23 14:32 ` Gleb Natapov
2009-11-23 14:51 ` Anthony Liguori
2009-11-23 14:53 ` Gleb Natapov
2009-11-23 15:05 ` Anthony Liguori
2009-11-23 15:22 ` Gleb Natapov
2009-11-23 15:30 ` Paolo Bonzini
2009-11-23 15:32 ` Anthony Liguori
2009-11-23 15:49 ` Gleb Natapov
2009-11-23 16:09 ` Anthony Liguori
2009-11-23 16:15 ` Gleb Natapov
2009-11-23 16:19 ` Anthony Liguori
[not found] ` <m33a45s009.fsf@neno.neno>
2009-11-23 16:05 ` Gleb Natapov
2009-11-23 16:10 ` Anthony Liguori
2009-11-24 13:28 ` Michael S. Tsirkin
2009-11-23 13:01 ` Anthony Liguori
[not found] ` <m3vdh1wd0n.fsf@neno.neno>
2009-11-23 14:49 ` Anthony Liguori
2009-11-23 15:21 ` Eduardo Habkost
2009-11-23 16:16 ` Anthony Liguori
2009-11-23 17:08 ` Eduardo Habkost
2009-11-23 18:28 ` Anthony Liguori
2009-11-23 19:24 ` Eduardo Habkost
2009-11-23 19:49 ` Anthony Liguori
2009-11-23 21:21 ` Eduardo Habkost
2009-11-24 11:00 ` Dor Laor [this message]
[not found] ` <m3y6lxqkpv.fsf@neno.neno>
2009-11-23 16:44 ` Anthony Liguori
[not found] ` <m3zl6db11z.fsf@neno.neno>
2009-11-23 18:44 ` Anthony Liguori
2009-11-23 20:24 ` Eduardo Habkost
2009-11-24 13:39 ` Michael S. Tsirkin
2009-11-23 13:51 ` Eduardo Habkost
2009-11-23 14:21 ` Paolo Bonzini
2009-11-23 15:00 ` Anthony Liguori
2009-11-23 15:37 ` Eduardo Habkost
2009-11-23 15:02 ` Eduardo Habkost
2009-11-23 15:12 ` Anthony Liguori
2009-11-24 14:26 ` [Qemu-devel] " Michael S. Tsirkin
2009-11-23 14:53 ` [Qemu-devel] " Anthony Liguori
2009-11-24 14:28 ` [Qemu-devel] " Michael S. Tsirkin
2009-11-24 14:33 ` [Qemu-devel] " Anthony Liguori
2009-11-24 16:05 ` Michael S. Tsirkin
[not found] ` <m3skc2r66t.fsf@neno.neno>
2009-11-25 16:28 ` Michael S. Tsirkin
2009-11-24 13:17 ` [Qemu-devel] " Michael S. Tsirkin
2009-11-24 13:35 ` Paul Brook
2009-11-24 13:49 ` [Qemu-devel] " Michael S. Tsirkin
2009-11-24 13:59 ` [Qemu-devel] " Paul Brook
2009-11-24 14:21 ` Michael S. Tsirkin
2009-11-24 17:06 ` Blue Swirl
2009-11-24 17:08 ` Michael S. Tsirkin
2009-11-24 17:43 ` Paolo Bonzini
2009-11-24 18:51 ` Anthony Liguori
2009-11-24 18:56 ` Blue Swirl
2009-11-24 19:24 ` Anthony Liguori
2009-11-24 18:57 ` Paolo Bonzini
2009-11-24 19:29 ` Anthony Liguori
2009-11-24 20:01 ` Michael S. Tsirkin
[not found] ` <m3my2ct2qe.fsf@neno.neno>
2009-11-24 17:41 ` Paolo Bonzini
2009-11-24 13:21 ` Michael S. Tsirkin
2009-11-24 13:45 ` Anthony Liguori
2009-11-24 13:55 ` Michael S. Tsirkin
2009-11-23 12:15 ` Juan Quintela
2009-11-23 13:09 ` Anthony Liguori
2009-11-23 14:13 ` Juan Quintela
2009-11-24 14:05 ` Michael S. Tsirkin
2009-11-24 14:20 ` Juan Quintela
2009-11-24 14:35 ` Michael S. Tsirkin
2009-11-25 13:42 ` Gerd Hoffmann
2009-11-25 13:42 ` Michael S. Tsirkin
2009-11-25 14:10 ` Gerd Hoffmann
2009-11-25 14:09 ` Michael S. Tsirkin
2009-11-25 14:52 ` Gerd Hoffmann
2009-11-26 18:03 ` Andrea Arcangeli
2009-11-25 13:36 ` Gerd Hoffmann
2009-11-25 13:40 ` Michael S. Tsirkin
2009-11-25 13:59 ` Gerd Hoffmann
2009-11-25 14:03 ` Michael S. Tsirkin
2009-11-25 14:53 ` Juan Quintela
2009-11-25 15:01 ` Michael S. Tsirkin
2009-11-24 10:39 ` Dor Laor
2009-11-24 14:01 ` Michael S. Tsirkin
2009-11-24 14:21 ` Juan Quintela
2009-11-24 14:38 ` Michael S. Tsirkin
2009-11-24 16:05 ` Michael S. Tsirkin
2009-11-25 9:30 ` Juan Quintela
2009-11-25 9:32 ` Michael S. Tsirkin
2009-11-25 13:36 ` Juan Quintela
2009-11-24 13:59 ` Michael S. Tsirkin
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=4B0BBCC8.7000909@redhat.com \
--to=dlaor@redhat.com \
--cc=anthony@codemonkey.ws \
--cc=ehabkost@redhat.com \
--cc=gleb@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@trasno.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).