All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Bligh <alex@alex.org.uk>
To: Markus Armbruster <armbru@redhat.com>
Cc: "Ryan Harper" <ryan.harper@canonical.com>,
	"Serge Hallyn" <serge.hallyn@canonical.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Libvirt <libvir-list@redhat.com>,
	"Serge Hallyn" <serge.hallyn@ubuntu.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	"Alexander Graf" <agraf@suse.de>,
	"quintela@redhat.com" <quintela@redhat.com>,
	"Alex Bligh" <alex@alex.org.uk>,
	"Cole Robinson" <crobinso@redhat.com>,
	"Amit Shah" <amit.shah@redhat.com>,
	"Bruce Rogers" <brogers@suse.com>,
	"Andreas Färber" <afaerber@suse.de>,
	"Serge E. Hallyn" <serge@hallyn.com>
Subject: Re: [Qemu-devel] [PATCH v4] Add machine parameter qemu-kvm-migration for live migrate compatibility with qemu-kvm
Date: Wed, 24 Sep 2014 09:29:41 +0100	[thread overview]
Message-ID: <B114AB58-267C-4850-B8DD-96D276FEB547@alex.org.uk> (raw)
In-Reply-To: <87a95p78ao.fsf@blackfin.pond.sub.org>

Markus,

On 24 Sep 2014, at 09:05, Markus Armbruster <armbru@redhat.com> wrote:

> Alex Bligh <alex@alex.org.uk> writes:
> 
>> This patch series adds inbound migrate capability from qemu-kvm version
>> 1.0. The main ideas are those set out in Cole Robinson's patch here:
>> http://pkgs.fedoraproject.org/cgit/qemu.git/tree/0001-Fix-migration-from-qemu-kvm.patch?h=f20
>> however, rather than patching statically (and breaking inbound
>> migration on existing machine types), I have added a new machine
>> parameter (qemu-kvm-migration) which when turned on affects the pc-1.0
>> machine type. Usage:
>>        -machine pc-1.0,qemu-kvm-migration=on
> 
> Forgive me if this has been discussed already: why not simply a separate
> machine type "pc-1.0-qemu-kvm"?

That's what v2 of the patch set does (and I prefer v2). However, mst
wanted it done this way.

> 
>> Three aproaches are taken:
>> 
>> * cirrus-vga.vgamem_mb defaults to 16 rather than 8. In	order to
>>  keep -global cirrus-vga.vgamem_mb working even with
>>  qemu-kvm-migration=on, this is monkey-patched	 into the default
>>  value			 of the MachineState structure's  compat_props list.
> 
> This part fires only for pc-1.0, because it's in
> pc_early_init_pci_1_0().

Yes, intentional. I should have noted that. That's because
qemu-kvm-migration=on the VRAM change was designed to
work only with pc-1.0. I haven't looked at trying to make
other (older) qemu-kvm machine migrations work, but (with the stuff
below), I would guess it would work with the appropriate
command line options for VRAM size.

Obviously I could put early init elsewhere.

>> * In hw/timer/i8254_common.c, the VMSTATE_UINT32_TEST macro
>>  is used to test the version for the irq_disable flags,
>>  allowing version 3 or more, or version 2 for an inbound
>>  migrate from qemu-kvm (only).
>> 
>> * In hw/acpi/piix4.c, qemu-kvm incorrectly uses version 2 for
>>  a version 3 structure, causing acpi_load_old to be used.
>>  acpi_load_old detects this situation based on the machine type
>>  and restarts the attempt to load the vmstate using a
>>  customised VMStateDescription. The above cleaner approach is
>>  unavailable here.
> 
> These parts apply to all machine types, don't they?

They apply only when qemu-kvm-migration=on is selected, but to
any machine type; however machine types newer than pc-1.0 will
be exporting v3 I think anyway.

>> Changes since v1:
>> * Do not use a machine type, use a machine parameter.
> 
> Okay, it has been discussed already.  I'd appreciate a brief recap all
> the same.

See above. I preferred the machine type. But I got to learn more about
QOM on the way :-)

-- 
Alex Bligh

  reply	other threads:[~2014-09-24  8:30 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-22 19:34 [Qemu-devel] [PATCH v4] Add machine parameter qemu-kvm-migration for live migrate compatibility with qemu-kvm Alex Bligh
2014-09-22 19:34 ` Alex Bligh
2014-09-28 15:30   ` Michael S. Tsirkin
2014-09-28 20:33     ` Alex Bligh
2014-09-29  7:02       ` Markus Armbruster
2014-10-05  7:00         ` Paolo Bonzini
2014-10-05 10:26           ` Alex Bligh
2014-10-05 12:26             ` Paolo Bonzini
2014-10-05 12:48               ` Michael S. Tsirkin
2014-10-05 13:30                 ` Paolo Bonzini
2014-09-29 10:08       ` Michael S. Tsirkin
2014-09-29 10:13         ` Alex Bligh
2014-09-29 14:52           ` Serge E. Hallyn
2014-10-04 16:29     ` Alex Bligh
2014-09-24  8:05 ` Markus Armbruster
2014-09-24  8:29   ` Alex Bligh [this message]
2014-09-24  8:38 ` Michael Tokarev
2014-09-25  8:02   ` 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=B114AB58-267C-4850-B8DD-96D276FEB547@alex.org.uk \
    --to=alex@alex.org.uk \
    --cc=afaerber@suse.de \
    --cc=agraf@suse.de \
    --cc=amit.shah@redhat.com \
    --cc=armbru@redhat.com \
    --cc=brogers@suse.com \
    --cc=crobinso@redhat.com \
    --cc=libvir-list@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=ryan.harper@canonical.com \
    --cc=serge.hallyn@canonical.com \
    --cc=serge.hallyn@ubuntu.com \
    --cc=serge@hallyn.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.