[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] block: Switch to host monotonic clock for IO
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH v2] block: Switch to host monotonic clock for IO throttling |
Date: |
Mon, 23 Mar 2015 13:56:12 +0000 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Mon, Mar 23, 2015 at 01:24:15PM +0800, Fam Zheng wrote:
> Currently, throttle timers won't make any progress when VCPU is not
> running, which would stall the request queue in utils, qtest, vm
> suspending, and live migration without special handling.
>
> For example in bdrv_drain_all, all requests are resumed immediately
> without taking throttling limit into account. This means whenever it is
> called, IO throttling goes ineffective (examples: system reset,
> migration and many block job operations.).
>
> This might be some loophole that guest could exploit.
>
> If we use the host clock, we can later just trust the nested poll when
> waiting for requests.
>
> Note that for qemu-iotests case 093, which sets up qtest when running
> QEMU, we still use vm clock so the script can control the clock stepping
> in order to be deterministic.
>
> Signed-off-by: Fam Zheng <address@hidden>
>
> ---
> v2: Don't break qemu-iotests 093.
> ---
> block.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
Should we make an exception for live migration to reduce downtime?
I'm concerned that now vm_stop() can take even longer since we'll wait
for throttling.
Stefan
pgpsxnBUZsApp.pgp
Description: PGP signature