[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: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH v2] block: Switch to host monotonic clock for IO throttling |
Date: |
Mon, 23 Mar 2015 14:58:58 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 |
On 23/03/2015 14:56, Stefan Hajnoczi wrote:
> 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.
What would have prevented the wait before? (In fact I'm not sure why we
would have even terminated bdrv_drain_all, since we run it when
QEMU_CLOCK_VIRTUAL is not advancing anymore!).
Paolo
- [Qemu-devel] [PATCH v2] block: Switch to host monotonic clock for IO throttling, Fam Zheng, 2015/03/23
- Re: [Qemu-devel] [PATCH v2] block: Switch to host monotonic clock for IO throttling, Paolo Bonzini, 2015/03/23
- Re: [Qemu-devel] [PATCH v2] block: Switch to host monotonic clock for IO throttling, Alberto Garcia, 2015/03/23
- Re: [Qemu-devel] [PATCH v2] block: Switch to host monotonic clock for IO throttling, Stefan Hajnoczi, 2015/03/23
- Re: [Qemu-devel] [PATCH v2] block: Switch to host monotonic clock for IO throttling,
Paolo Bonzini <=
- Re: [Qemu-devel] [PATCH v2] block: Switch to host monotonic clock for IO throttling, Fam Zheng, 2015/03/23
- Re: [Qemu-devel] [PATCH v2] block: Switch to host monotonic clock for IO throttling, Stefan Hajnoczi, 2015/03/24