qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/13] Convert slirp/ivshmem/virtio save/load to Visitors
@ 2011-10-27 18:17 Michael Roth
  2011-10-27 18:17 ` [Qemu-devel] [PATCH 01/13] slirp: convert save/load function to visitor interface Michael Roth
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: Michael Roth @ 2011-10-27 18:17 UTC (permalink / raw)
  To: qemu-devel; +Cc: aliguori, mdroth, quintela

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

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

end of thread, other threads:[~2011-10-27 18:23 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-27 18:17 [Qemu-devel] [PATCH 00/13] Convert slirp/ivshmem/virtio save/load to Visitors Michael Roth
2011-10-27 18:17 ` [Qemu-devel] [PATCH 01/13] slirp: convert save/load function to visitor interface Michael Roth
2011-10-27 18:17 ` [Qemu-devel] [PATCH 02/13] ivshmem: convert save/load to visitor Michael Roth
2011-10-27 18:17 ` [Qemu-devel] [PATCH 03/13] virtio-pci: convert save/load to visitors Michael Roth
2011-10-27 18:17 ` [Qemu-devel] [PATCH 04/13] msix: convert save/load to visitors (including interfaces) Michael Roth
2011-10-27 18:17 ` [Qemu-devel] [PATCH 05/13] openpic: convert save/load to visitors Michael Roth
2011-10-27 18:17 ` [Qemu-devel] [PATCH 06/13] i440fx: " Michael Roth
2011-10-27 18:17 ` [Qemu-devel] [PATCH 07/13] pci: convert pci_device_(save|load) interfaces to accept Visitors Michael Roth
2011-10-27 18:17 ` [Qemu-devel] [PATCH 08/13] virtio: convert common virtio save/load to visitors Michael Roth
2011-10-27 18:17 ` [Qemu-devel] [PATCH 09/13] virtio-balloon: convert " Michael Roth
2011-10-27 18:17 ` [Qemu-devel] [PATCH 10/13] virtio-blk: " Michael Roth
2011-10-27 18:17 ` [Qemu-devel] [PATCH 11/13] virtio-net: " Michael Roth
2011-10-27 18:17 ` [Qemu-devel] [PATCH 12/13] virtio-serial: " Michael Roth
2011-10-27 18:17 ` [Qemu-devel] [PATCH 13/13] virtio: convert virtio_save/virtio_load interfaces to accept Visitors Michael Roth

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