]> git.proxmox.com Git - qemu.git/commit - block-migration.c
Improve accuracy of block migration bandwidth calculation
authorAvishay Traeger <AVISHAY@il.ibm.com>
Sun, 3 Apr 2011 08:31:45 +0000 (11:31 +0300)
committerKevin Wolf <kwolf@redhat.com>
Wed, 27 Apr 2011 12:36:57 +0000 (14:36 +0200)
commitff5c52a379b9fddaf512907e9ffdc275a722e65a
tree794cb3ac4f4c8e407ff4898f86fc7ed2ea0a2ac1
parent4b9b7092b4cbef084138a446b8247ba89fd474f4
Improve accuracy of block migration bandwidth calculation

block_mig_state.total_time is currently the sum of the read request
latencies.  This is not very accurate because block migration uses aio and
so several requests can be submitted at once.  Bandwidth should be computed
with wall-clock time, not by adding the latencies.  In this case,
"total_time" has a higher value than it should, and so the computed
bandwidth is lower than it is in reality.  This means that migration can
take longer than it needs to.
However, we don't want to use pure wall-clock time here.  We are computing
bandwidth in the asynchronous phase, where the migration repeatedly wakes
up and sends some aio requests.  The computed bandwidth will be used for
synchronous transfer.

Signed-off-by: Avishay Traeger <avishay@il.ibm.com>
Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block-migration.c