From: Gleb Natapov <gleb@redhat.com>
To: Juan Quintela <quintela@trasno.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: Live migration protocol, device features, ABIs and other beasts
Date: Mon, 23 Nov 2009 14:36:40 +0200 [thread overview]
Message-ID: <20091123123640.GL2999@redhat.com> (raw)
In-Reply-To: <m3iqd14edf.fsf@neno.neno>
On Mon, Nov 23, 2009 at 01:25:32PM +0100, Juan Quintela wrote:
> Gleb Natapov <gleb@redhat.com> wrote:
> > 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.
> >>
> > Each device can send device info in multiple formats (each format with
> > its own ID) and destination will choose the one it supports.
>
> RAM anyone? You send 1GB of info in different formats, just in case :)
>
RAM is migrated very differently from devices. No need to extend this
for RAM.
> In this case, I think that the only two realistic solutions are to
> increase negotiation during migration:
>
> - source -> target: I can save this devices with this versions:
> "cpu" 10 - 12
> "apic" 3
> "ide" 2-4
> "virtio-net" 5-10
> ....
> - target -> source:
> * I don't support "virtio-net" at all -> failed migration
> * send it as:
> "cpu" 11
> "apic" 3
> "ide" 2
> "virtio-net" 10
> thankyou very much :)
>
> The other (more simple solution) is:
>
> - source -> target:
> my machine types are: pc-0.10, pc-0.11
> my devices are: "cpu", "apic", "ide", "virtio-net"
> - target-> source
> * I dont' have "virtio-net" -> fail, or
> * send it as pc-0.10, please
>
Yes, I proposed to send device state in multiple formats specifically to
prevent negotiation step, but may be proper negotiation is not so
bad/complex after all.
> My problem implementing optional features/sections/... is not the
> savevm/VMState bits. At the end, implementing that is easy. What is
> more dificult is once that a device have 5 features, what are the valid
> combinations. i.e. if you have pci and msix features, msix requires
> pci. In this case, the dependency is trivial, but in others that
> hasen't to be so obvious.
It doesn't matter what device support and how it is configured. This can
be handled by each device separately. i.e if destination detects that
source had MSIX enabled for the device but destination hasn't it will
signal an error.
>
> Having subversions for downstream is a different problem that needs to
> be fixed.
>
> Later, Juan.
--
Gleb.
next prev parent reply other threads:[~2009-11-23 12:36 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 [this message]
[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 ` [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=20091123123640.GL2999@redhat.com \
--to=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).