qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/2] Add machine type pc-1.0-qemu-kvm for live migrate compatibility with qemu-kvm
@ 2014-08-01 19:12 Alex Bligh
  2014-08-01 19:12 ` [Qemu-devel] [PATCH v2 1/2] " Alex Bligh
                   ` (4 more replies)
  0 siblings, 5 replies; 20+ messages in thread
From: Alex Bligh @ 2014-08-01 19:12 UTC (permalink / raw)
  To: qemu-devel
  Cc: Ryan Harper, Serge Hallyn, Michael S. Tsirkin, Libvirt,
	Serge Hallyn, Alexander Graf, Bruce Rogers, quintela@redhat.com,
	Alex Bligh, Cole Robinson, Amit Shah, Andreas Färber,
	Serge E. Hallyn

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
type (pc-1.0-qemu-kvm) without affecting any other machine types.
The existing pc-1.0 machine type is renamed to pc-1.0-qemu-git,
with pc-1.0 becoming an alias for one or another, as selected
by a configure option (defaulting to pc-1.0-qemu-git, IE no
change).

This requires 'hot patching' the VMStateDescription in a couple of
places, which in turn is less than obvious as there may be (indeed
are for i8259) derived classes. Whilst pretty nausea-inducing, this
approach has the benefit of being entirely self-contained.

I developed this on qemu 2.0 but have forward ported it (trivially)
to master. My testing has been on a VM live-migrated-to-file from
Ubuntu Precise qemu-kvm 1.0.

I have given this a moderate degree of testing but it could do
with more.

Note that certain hardware devices (including QXL) will not
migrate properly due to a fundamental difference in their internal
state between versions.

Also note that (as expected) migratino from qemu-2.x to qemu-1.0
will not work, even if the machine types are the same.

Alex Bligh (2):
  Add machine type pc-1.0-qemu-kvm for live migrate compatibility with
    qemu-kvm
  Add configure option --enable-pc-1-0-qemu-kvm

 configure                |   12 ++++++++++++
 hw/acpi/piix4.c          |   49 ++++++++++++++++++++++++++++++++++++++++++++--
 hw/i386/pc_piix.c        |   39 +++++++++++++++++++++++++++++++++++-
 hw/timer/i8254_common.c  |   41 ++++++++++++++++++++++++++++++++++++++
 include/hw/acpi/piix4.h  |    1 +
 include/hw/timer/i8254.h |    2 ++
 6 files changed, 141 insertions(+), 3 deletions(-)

-- 
1.7.9.5

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2014-08-08 20:28 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-01 19:12 [Qemu-devel] [PATCH v2 0/2] Add machine type pc-1.0-qemu-kvm for live migrate compatibility with qemu-kvm Alex Bligh
2014-08-01 19:12 ` [Qemu-devel] [PATCH v2 1/2] " Alex Bligh
2014-08-01 19:12 ` [Qemu-devel] [PATCH v2 2/2] Add configure option --enable-pc-1-0-qemu-kvm Alex Bligh
2014-08-04 13:35   ` Michael S. Tsirkin
2014-08-04 13:31 ` [Qemu-devel] [PATCH v2 0/2] Add machine type pc-1.0-qemu-kvm for live migrate compatibility with qemu-kvm Michael S. Tsirkin
2014-08-04 13:51   ` Alex Bligh
2014-08-04 14:26     ` Michael S. Tsirkin
2014-08-04 16:11       ` Alex Bligh
2014-08-04 16:22         ` Michael S. Tsirkin
2014-08-04 16:46           ` Alex Bligh
2014-08-04 16:59             ` Michael S. Tsirkin
2014-08-04 17:08               ` Alex Bligh
2014-08-04 17:16                 ` Michael S. Tsirkin
2014-08-04 15:07 ` Serge Hallyn
2014-08-07  2:50 ` Serge Hallyn
2014-08-07  5:58   ` Alex Bligh
2014-08-07 12:56     ` Serge E. Hallyn
2014-08-07 19:26     ` Serge E. Hallyn
2014-08-08  7:23       ` Alex Bligh
2014-08-08 20:28         ` Serge E. Hallyn

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).