[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] Block Migration and CPU throttling
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [Qemu-block] Block Migration and CPU throttling |
Date: |
Tue, 19 Sep 2017 15:38:30 +0100 |
User-agent: |
Mutt/1.8.3 (2017-05-23) |
* Peter Lieven (address@hidden) 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 / address@hidden / Manchester, UK
Re: [Qemu-block] Block Migration and CPU throttling, Paolo Bonzini, 2017/09/19