qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Halil Pasic <pasic@linux.vnet.ibm.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Cc: "Michael S . Tsirkin" <mst@redhat.com>,
	qemu-devel@nongnu.org, Halil Pasic <pasic@linux.vnet.ibm.com>
Subject: [Qemu-devel] [PATCH v2 00/12] virtio migration: simplify vmstate helper
Date: Thu,  6 Oct 2016 14:55:38 +0200	[thread overview]
Message-ID: <20161006125550.17099-1-pasic@linux.vnet.ibm.com> (raw)

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

-- 
2.8.4

             reply	other threads:[~2016-10-06 12:56 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-06 12:55 Halil Pasic [this message]
2016-10-06 12:55 ` [Qemu-devel] [PATCH v2 01/12] virtio: prepare change VMSTATE_VIRTIO_DEVICE macro Halil Pasic
2016-10-06 12:55 ` [Qemu-devel] [PATCH v2 02/12] virtio-blk: convert VMSTATE_VIRTIO_DEVICE Halil Pasic
2016-10-06 12:55 ` [Qemu-devel] [PATCH v2 03/12] virtio-net: " Halil Pasic
2016-10-06 12:55 ` [Qemu-devel] [PATCH v2 04/12] virtio-9p: " Halil Pasic
2016-10-06 12:55 ` [Qemu-devel] [PATCH v2 05/12] virtio-serial: " Halil Pasic
2016-10-06 12:55 ` [Qemu-devel] [PATCH v2 06/12] virtio-gpu: " Halil Pasic
2016-10-06 12:55 ` [Qemu-devel] [PATCH v2 07/12] virtio-input: " Halil Pasic
2016-10-06 12:55 ` [Qemu-devel] [PATCH v2 08/12] virtio-scsi: " Halil Pasic
2016-10-06 12:55 ` [Qemu-devel] [PATCH v2 09/12] virtio-balloon: " Halil Pasic
2016-10-06 12:55 ` [Qemu-devel] [PATCH v2 10/12] virtio-rng: " Halil Pasic
2016-10-06 12:55 ` [Qemu-devel] [PATCH v2 11/12] vhost-vsock: " Halil Pasic
2016-10-06 12:55 ` [Qemu-devel] [PATCH v2 12/12] virtio: cleanup VMSTATE_VIRTIO_DEVICE Halil Pasic
2016-10-06 15:30 ` [Qemu-devel] [PATCH v2 00/12] virtio migration: simplify vmstate helper Paolo Bonzini
2016-10-06 17:04   ` Halil Pasic

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=20161006125550.17099-1-pasic@linux.vnet.ibm.com \
    --to=pasic@linux.vnet.ibm.com \
    --cc=dgilbert@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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 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).