qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 00/13] Convert slirp/ivshmem/virtio save/load to Vis


From: Michael Roth
Subject: [Qemu-devel] [PATCH 00/13] Convert slirp/ivshmem/virtio save/load to Visitors
Date: Thu, 27 Oct 2011 13:17:12 -0500

These patches apply on top of version 2 of:

"do savevm/migration save/load via Visitor interface"

and can also be obtained from:

git://repo.or.cz/qemu/mdroth.git migration-visitor-conversions-set1-v1

OVERVIEW

These patches are the first conversions beyond the catch-all vmstate
conversion in the initial visitor-based save/load series. They were chosen
since they were users of common save/load interfaces in msix.c, pci.c, and
virtio.c which have been converted to accepting a Visitor in place of
QEMUFile as part of this series.

The slirp conversion is a carry-over from the initial RFC with some fix-ups.

The conversions are not pretty in a lot of cases, but the goal is to decouple
save/load from QEMUFile so we can rework things in the context of Visitors and
a new migration protocol.

There are roughly 19 qemufile-based save/load users remaining, 5 of which
are for CPUState serialization, which Juan is already porting to vmstate.

I plan to follow up shortly with the remaining x86-relevant users like apic
and i8254, which will put us about halfway there, with the remainder being:

hw/arm_gic.c
hw/tsc210x.c
hw/ssd0323.c
hw/stellaris_enet.c
hw/sun4u.c
hw/syborg_interrupt.c
hw/pxa2xx_mmci.c
hw/syborg_fb.c
hw/ssi-sd.c
hw/tsc2005.c
hw/pxa2xx.c
hw/rc4030.c

Testing will probably be the gating factor for these.

TESTING

There's a lot of churn here, but the conversions are fairly trivial for the
most part, and have been tested using a mostly-automated test framework that
involves tracing all visitor-based and qemufile-based serialization and
checking for symmetry between pre-converted/post-converted qemu instances.
Test code and procedure is documented at:

http://wiki.qemu.org/Features/Migration/Visitor#Testing

Michael Roth (13):
  slirp: convert save/load function to visitor interface
  ivshmem: convert save/load to visitor
  virtio-pci: convert save/load to visitors
  msix: convert save/load to visitors (including interfaces)
  openpic: convert save/load to visitors
  i440fx: convert save/load to visitors
  pci: convert pci_device_(save|load) interfaces to accept Visitors
  virtio: convert common virtio save/load to visitors
  virtio-balloon: convert save/load to visitors
  virtio-blk: convert save/load to visitors
  virtio-net: convert save/load to visitors
  virtio-serial: convert save/load to visitors
  virtio: convert virtio_save/virtio_load interfaces to accept Visitors

 hw/ivshmem.c           |   52 +++++--
 hw/msix.c              |   37 ++++--
 hw/msix.h              |    4 +-
 hw/openpic.c           |  192 +++++++++++++++++--------
 hw/pci.c               |    9 +-
 hw/pci.h               |    6 +-
 hw/piix_pci.c          |   27 +++-
 hw/virtio-balloon.c    |   36 ++++-
 hw/virtio-blk.c        |   80 +++++++++--
 hw/virtio-net.c        |  166 ++++++++++++++++-------
 hw/virtio-pci.c        |   75 ++++++++---
 hw/virtio-serial-bus.c |  130 ++++++++++++-----
 hw/virtio.c            |  145 ++++++++++++++------
 hw/virtio.h            |   14 +-
 slirp/slirp.c          |  366 ++++++++++++++++++++++++++++--------------------
 15 files changed, 918 insertions(+), 421 deletions(-)

-- 
1.7.4.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]