« Previous | Next » 

Revision ff5c52a3

IDff5c52a379b9fddaf512907e9ffdc275a722e65a

Added by Avishay Traeger almost 14 years ago

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 <>
Reviewed-by: Michael Roth <>
Signed-off-by: Kevin Wolf <>

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences