Hi,
does somebody know what the following paragraph exactly means resp. what
it should mean?
"The maximum bandwidth (in Mbps) that will be used to do migration can
be specified with the bandwidth parameter. *If set to 0, libvirt will
choose a suitable default*."
http://libvirt.org/html/libvirt-libvirt.html#virDomainMigrate
What is the "suitable default"? I looked through the code for qemu and
the only call to qemuMonitorSetMigrationSpeed() I can find is in
./src/qemu/qemu_driver.c:8406, using libvirt 0.8.7. When I remember
correctly the second condition in a conjunction will not be evaluated if
the first one evaluates to false? So if resource == 0, no limit will be set?
I ask because I discovered that qemu is live migrating with a hard coded
throttle of 32MiB/s for historic reasons, which is an activated
handbrake if you have GBit Ethernet and additionally annoying when
thinking about qemu's broken way of live migration (no maximum amount of
iterations, no forced action, no error message, no abortion - no
*nothing*.). Effectively *using* GBit Ethernet often solves this problem
as the bandwidth to transfer dirty pages is quadrupled.
Also see qemu mailing list, Message-ID: <4D52D95D.3030300(a)scripty.at>
There was a short discussion on IRC where concerns of "breaking libvirt"
when deactivating the default limit were stated. If there really are
applications that depend on handbraked live migration, I think these
applications just should pass the limit they need to virDomainMigrate().
What do you think?
regards,
-t