* Peter Lieven ([email protected]) wrote:
> Hi,
> 
> I just noticed that CPU throttling and Block Migration don't work together 
> very well.
> During block migration the throttling heuristic detects that we obviously 
> make no progress
> in ram transfer. But the reason is the running block migration and not a too 
> high dirty pages rate.
> 
> The result is that any VM is throttled by 99% during block migration.

Hmm that's unfortunate; do you have a bandwidth set lower than your
actual network connection? I'm just wondering if it's actually going
between the block and RAM iterative sections or getting stuck in ne.

> I wonder what the best way would be fix this. I came up with the following 
> ideas so far:
> 
> - disable throttling while block migration is in bulk stage

mig_throttle_guest_down is currently in migration/ram.c
so however we do it, we've got to add an 'inhibit' that
block.c could set (I suggest a counter so that it could
be set by a few things).

> - check if absolute number of num_dirty_pages_period crosses a threshold and 
> not if its just
>   greater than 50% of transferred bytes
> - check if migration_dirty_pages > 0. This slows down throttling, but does 
> not avoid it completely.

An interesting question is whether you want to inhibit in the non-bulk
stage if IO writes are happening too quickly to keep up.

Dave

> 
> Peter
--
Dr. David Alan Gilbert / [email protected] / Manchester, UK

Reply via email to