On 03/21/2012 08:11 AM, Jiri Denemark wrote:
This reverts commit 61f2b6ba5fdef0613d6351b99913b5ef468144ce and most
of
commit d8916dc8e2f612ab3ce46f32c4bfeb0bd73f6007, which effectively
brings back commit ef1065cf5acad13767c054758cbe7f4e8af5d241 written by
Jim Fehlig:
That history makes it look like we can't make up our minds :) But also
important in the churn is indeed the intermediate changes to our
migration code passing in a pipe, and improvements in qemu.
The qemu migration speed default is 32MiB/s as defined in migration.c
/* Migration speed throttling */
static int64_t max_throttle = (32 << 20);
There's no need to throttle migration when targeting a file, so set
migration speed to unlimited prior to migration, and restore to libvirt
default value after migration.
Default units is MB for migrate_set_speed monitor command, so
(INT64_MAX / (1024 * 1024)) is used for unlimited migration speed.
This was reverted because migration to file could not be canceled and
even monitored since qemu were not processing any monitor commands until
the migration finished. This is now different as we make sure the
file descriptor we pass to qemu is able to properly report EAGAIN.
Recent qemu changes might have helped as well.
I tested managedsave with this patch in and indeed, it is 10x faster
while I can still monitor its progress.
---
src/qemu/qemu_domain.h | 7 +++++++
src/qemu/qemu_migration.c | 17 +++++++++++++++++
2 files changed, 24 insertions(+), 0 deletions(-)
ACK.
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org