qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@gmail.com>
To: Michal Privoznik <mprivozn@redhat.com>
Cc: Libvirt Users <libvirt-users@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>, Jeff Cody <jcody@redhat.com>,
	qemu-devel <qemu-devel@nongnu.org>,
	Joaquim Barrera <jbarrera@ac.upc.edu>
Subject: Re: [Qemu-devel] [libvirt-users] Adjust disk image migration (NBD)
Date: Mon, 24 Feb 2014 16:16:54 +0100	[thread overview]
Message-ID: <20140224151654.GB23185@stefanha-thinkpad.hitronhub.home> (raw)
In-Reply-To: <52FDF6F0.4090405@redhat.com>

On Fri, Feb 14, 2014 at 11:58:56AM +0100, Michal Privoznik wrote:
> On 14.02.2014 10:40, Joaquim Barrera wrote:
> > Hi all,
> > 
> > As I am doing some tests with qemu, I realized that the way it does 
> > 'migrate -i tcp:DEST:444' is not the same as 'libvirt migrate 
> > --copy-storage-inc'. Basically qemu uses the same stream as RAM 
> > migration and libvirt takes advantage of NBD transfer.
> > 
> > With virsh migrate-setspeed I observed that one can only control the 
> > transfer throughput of RAM, but not disk synchronization. At least this 
> > is what I can see in bmon when doing a migration with incremental copy.
> > 
> > The question is: Am I missing something or it is not implemented?
> > 
> > Thank you guys!
> > 
> 
> I think this is actually a qemu bug. Libvirt passes the correct values:
> 
> 
> 2014-02-14 10:52:08.010+0000: 27701: debug : qemuMonitorIOWrite:504 : QEMU_MONITOR_IO_WRITE: mon=0x7f06cc00ea20 buf={"execute":"drive-mirror","arguments":{"device":"drive-virtio-disk0","target":"nbd:masina:49153:exportname=drive-virtio-disk0","speed":1048576,"sync":"full","mode":"existing"},"id":"libvirt-15"}
> 
> 
> ...
> 
> 2014-02-14 10:53:51.169+0000: 27701: debug : qemuMonitorIOWrite:504 : QEMU_MONITOR_IO_WRITE: mon=0x7f06cc00ea20 buf={"execute":"migrate_set_speed","arguments":{"value":1048576},"id":"libvirt-221"}
> 
> 
> 2014-02-14 10:53:51.204+0000: 27701: debug : qemuMonitorIOWrite:504 : QEMU_MONITOR_IO_WRITE: mon=0x7f06cc00ea20 buf={"execute":"migrate","arguments":{"detach":true,"blk":false,"inc":false,"uri":"fd:migrate"},"id":"libvirt-223"}
> 
> 
> However I observe what you do - disk migration is not shaped, while internal state is.

Thanks for raising this.

I noticed that mirror_run() does not throttle the first loop where it
populates the dirty bitmap using bdrv_is_allocated_above().  The main
copy loop does take the speed limit into account but perhaps that's
broken too.

Paolo, Jeff: Any ideas?

Stefan

  reply	other threads:[~2014-02-24 15:17 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <52FDE495.4050004@ac.upc.edu>
2014-02-14 10:58 ` [Qemu-devel] [libvirt-users] Adjust disk image migration (NBD) Michal Privoznik
2014-02-24 15:16   ` Stefan Hajnoczi [this message]
2014-02-24 22:26     ` Paolo Bonzini
2014-02-28 10:41       ` Joaquim Barrera
2014-02-28 10:43         ` Paolo Bonzini
2014-03-11 17:13           ` Joaquim Barrera
2014-03-20  8:06             ` 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=20140224151654.GB23185@stefanha-thinkpad.hitronhub.home \
    --to=stefanha@gmail.com \
    --cc=jbarrera@ac.upc.edu \
    --cc=jcody@redhat.com \
    --cc=libvirt-users@redhat.com \
    --cc=mprivozn@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).