qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: Re: Live migration protocol, device features, ABIs and   other beasts
Date: Tue, 24 Nov 2009 15:17:17 +0200	[thread overview]
Message-ID: <20091124131717.GD2405@redhat.com> (raw)
In-Reply-To: <4B09F0CA.3060705@codemonkey.ws>

On Sun, Nov 22, 2009 at 08:17:46PM -0600, Anthony Liguori wrote:
> Paolo Bonzini wrote:
>>
>>> I don't see how this fixes anything. If you used feature bits, how do
>>> you migrate from a version that has a feature bit that an older version
>>> doesn't know about? Do you just ignore it?
>>
>> I'd go with chunk instead of feature bits, specifying them like in the  
>> PNG specification:
>
> You mean, each device would have multiple sections?  We already use  
> chunks for each device state.
>
>>> Migration needs to be conservative. There should be only two possible
>>> outcomes: 1) a successful live migration or 2) graceful failure with the
>>> source VM still running correctly. Silently ignoring things that could
>>> affect the guests behavior means that it's possible that after failure,
>>> the guest will fail in an unexpected way.
>>
>> It's up to the source to decide what information is extra.  For  
>> example, the state of a RNG emulation is nice-to-have, but as long as  
>> it is initialized from another random source on the destination you  
>> shouldn't care.
>
> We only migrate things that are guest visible.  Everything else is left  
> to the user to configure.  We wouldn't migrate the state of a RNG  
> emulation provided that it doesn't have an impact on the guest.

But some things might have greater impact than others.

Consider INTx state in PCI as an example.
Qemu used not to migrate it, as a result guest might
lose interrupt when migrating between such old qemu binaries.
This is rare enough, and often harmless, so for a while
no one noticed.

Later, we noticed this is user visible.
As a fix, we are now migrating INTx state and
guests are happy when migrating from new qemu to new qemu.

But it's easy to support migration to old qemu just
by discarding the INTx state, and this is not
at all harder, or worse, than migrating from old qemu
to new one.


> By definition, anything that is guest visible is important because it  
> affects the guest's behavior.
>
> Regards,
>
> Anthony Liguori
>

  parent reply	other threads:[~2009-11-24 13:20 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
     [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       ` Michael S. Tsirkin [this message]
2009-11-24 13:35         ` [Qemu-devel] " 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=20091124131717.GD2405@redhat.com \
    --to=mst@redhat.com \
    --cc=anthony@codemonkey.ws \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.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).