qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Juan Quintela <quintela@redhat.com>
Subject: [Qemu-devel] [PATCH v3 0/4] dataplane: virtio-blk live migration with x-data-plane=on
Date: Mon, 29 Jul 2013 15:01:56 +0200	[thread overview]
Message-ID: <1375102920-18817-1-git-send-email-stefanha@redhat.com> (raw)

v3:
 * Fix spice migration, also needed for dataplane migration [kwolf]

v2:
 * Rebase onto qemu.git/master
 * Split bdrv_in_use() into separate patch, it's a bug fix [bonzini]

These patches add live migration support to -device virtio-blk-pci,x-data-plane=on.

Patches 1 & 2 make migration state notifiers reliable and fix spice migration.
Dataplane migration faces the same issues so I'm including the patches here.

Patch 3 implements a switch from dataplane mode back to regular virtio-blk mode
when migration starts.  This way live migration works.

Patch 4 is a bug fix: we need to check the device is not in use when creating
the dataplane thread.  It applies to live migration but it turns out the same
problem can be hit without migration too, see the commit description.

If migration is cancelled or the guest accesses the virtio-blk device after
completion, dataplane starts again.

Since this approach is so small, it's more palatable for QEMU 1.6 than trying
to make vring.c log dirty memory.  It makes dataplane usable in situations
where live migration is a requirement.

Stefan Hajnoczi (4):
  migration: notify migration state before starting thread
  migration: fix spice migration
  dataplane: enable virtio-blk x-data-plane=on live migration
  dataplane: refuse to start if device is already in use

 hw/block/dataplane/virtio-blk.c | 17 ++++++++---------
 hw/block/virtio-blk.c           | 32 ++++++++++++++++++++++++++++++++
 include/hw/virtio/virtio-blk.h  |  1 +
 include/migration/migration.h   |  2 +-
 migration.c                     |  8 +++++---
 ui/spice-core.c                 |  2 +-
 6 files changed, 48 insertions(+), 14 deletions(-)

-- 
1.8.1.4

             reply	other threads:[~2013-07-29 13:02 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-29 13:01 Stefan Hajnoczi [this message]
2013-07-29 13:01 ` [Qemu-devel] [PATCH v3 1/4] migration: notify migration state before starting thread Stefan Hajnoczi
2013-07-29 13:01 ` [Qemu-devel] [PATCH v3 2/4] migration: fix spice migration Stefan Hajnoczi
2013-07-29 14:46   ` Michael R. Hines
2013-07-29 15:01     ` Stefan Hajnoczi
2013-07-29 16:52       ` Michael R. Hines
2013-07-29 13:01 ` [Qemu-devel] [PATCH v3 3/4] dataplane: enable virtio-blk x-data-plane=on live migration Stefan Hajnoczi
2013-07-29 13:02 ` [Qemu-devel] [PATCH v3 4/4] dataplane: refuse to start if device is already in use Stefan Hajnoczi
2013-07-29 13:25 ` [Qemu-devel] [PATCH v3 0/4] dataplane: virtio-blk live migration with x-data-plane=on Kevin Wolf
2013-07-29 15:20 ` Stefan Hajnoczi

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=1375102920-18817-1-git-send-email-stefanha@redhat.com \
    --to=stefanha@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    /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).