Skip to content

virtio migration: simplify vmstate helper

Halil Pasic qemu-devel 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest12 patches 2 repliesIn review
  2. v10 of 11 patches 4 repliesSuperseded

Changes in v2 from the cover letter

* export VMStateInfo instead of helpers
* change semantic of VMSTATE_VIRTIO_DEVICE
* drop VIRTIO_DEF_DEVICE_VMSD macro, use its expansion instead

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/12virtio: prepare change VMSTATE_VIRTIO_DEVICE macrohw/virtio/virtio.c include/hw/virtio/virtio.h+37 -00 replies
2/12virtio-blk: convert VMSTATE_VIRTIO_DEVICEhw/block/virtio-blk.c+11 -160 replies
3/12virtio-net: convert VMSTATE_VIRTIO_DEVICEhw/net/virtio-net.c+21 -210 replies
4/12virtio-9p: convert VMSTATE_VIRTIO_DEVICEhw/9pfs/virtio-9p-device.c+11 -60 replies
5/12virtio-serial: convert VMSTATE_VIRTIO_DEVICEhw/char/virtio-serial-bus.c+11 -70 replies
6/12virtio-gpu: convert VMSTATE_VIRTIO_DEVICEhw/display/virtio-gpu.c+29 -120 replies
7/12virtio-input: convert VMSTATE_VIRTIO_DEVICEhw/input/virtio-input.c+13 -100 replies
8/12virtio-scsi: convert VMSTATE_VIRTIO_DEVICEhw/scsi/virtio-scsi.c+11 -170 replies
9/12virtio-balloon: convert VMSTATE_VIRTIO_DEVICEhw/virtio/virtio-balloon.c+11 -60 replies
10/12virtio-rng: convert VMSTATE_VIRTIO_DEVICEhw/virtio/virtio-rng.c+13 -80 replies
11/12vhost-vsock: convert VMSTATE_VIRTIO_DEVICEhw/virtio/vhost-vsock.c+23 -210 replies
12/12virtio: cleanup VMSTATE_VIRTIO_DEVICEhw/9pfs/virtio-9p-device.c hw/block/virtio-blk.c hw/char/virtio-serial-bus.c +9 more+0 -530 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [Qemu-devel] [PATCH v2 00/12] virtio migration: simplify vmstate helper

As a part of the long term effort to convert migration to vmstate the migration of virtio devices was recently partially switched to vmstate starting with the outer layer (commit 5943124cc "virtio: Migration helper function and macro" and the subsequent "virtio-*: Wrap in vmstate" commits). This was done by introducing a vmstate based wrapper driving the well know virtio migration process. As this transition is still in progress, some synergies were left unexploited, and some things can be expressed in a more vmstatish way.

Let us simplify a couple of things and get rid of some code duplication.

NOTE: This series is exploring the suggestions of Paolo (I did my best to do everything as requested). I still think that we are better of with a macro that with spelling out the VMStateDescription for each device separately and redundantly. The LOC balance of the previous version was -41, this version is at +14 because of the expanded macros. IMHO the readability benefit of spelling out the vmsd definitions is questionabe (but it is beneficial if using ctags or grep). I hope for a good discussion, but I can live with this version too.

v1 --> v2:
* export VMStateInfo instead of helpers
* change semantic of VMSTATE_VIRTIO_DEVICE
* drop VIRTIO_DEF_DEVICE_VMSD macro, use its expansion instead

Halil Pasic (12):
virtio: prepare change VMSTATE_VIRTIO_DEVICE macro
virtio-blk: convert VMSTATE_VIRTIO_DEVICE
virtio-net: convert VMSTATE_VIRTIO_DEVICE
virtio-9p: convert VMSTATE_VIRTIO_DEVICE
virtio-serial: convert VMSTATE_VIRTIO_DEVICE
virtio-gpu: convert VMSTATE_VIRTIO_DEVICE
virtio-input: convert VMSTATE_VIRTIO_DEVICE
virtio-scsi: convert VMSTATE_VIRTIO_DEVICE
virtio-balloon: convert VMSTATE_VIRTIO_DEVICE
virtio-rng: convert VMSTATE_VIRTIO_DEVICE
vhost-vsock: convert VMSTATE_VIRTIO_DEVICE
virtio: cleanup VMSTATE_VIRTIO_DEVICE

 hw/9pfs/virtio-9p-device.c  | 15 +++++++++------
 hw/block/virtio-blk.c       | 25 +++++++++----------------
 hw/char/virtio-serial-bus.c | 16 +++++++++-------
 hw/display/virtio-gpu.c     | 39 +++++++++++++++++++++++++++------------
 hw/input/virtio-input.c     | 21 +++++++++++----------
 hw/net/virtio-net.c         | 40 +++++++++++++++++++---------------------
 hw/scsi/virtio-scsi.c       | 26 +++++++++-----------------
 hw/virtio/vhost-vsock.c     | 42 +++++++++++++++++++++---------------------
 hw/virtio/virtio-balloon.c  | 15 +++++++++------
 hw/virtio/virtio-rng.c      | 19 +++++++++++--------
 hw/virtio/virtio.c          | 17 ++++++++++++++++-
 include/hw/virtio/virtio.h  | 27 ++++++++-------------------
 12 files changed, 158 insertions(+), 144 deletions(-)
Signature · 1 line
2.8.4