qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v4] block: Switch to host monotonic clock for IO


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCH v4] block: Switch to host monotonic clock for IO throttling
Date: Wed, 25 Mar 2015 15:31:10 +0000
User-agent: Mutt/1.5.23 (2014-03-12)

On Wed, Mar 25, 2015 at 03:27:26PM +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.
> 
> Block jobs are confusingly inconsistent between with and without
> throttling: if user sets a bps limit, stops the vm, then start a block
> job, the block job will not make any progress; in contrary, if user
> unsets the bps limit, or if it's not set, the block job will run
> normally.
> 
> After this patch, with the host clock, even if the VCPUs are stopped,
> the throttle queues will be processed.
> 
> This patch also enables potential to add throttle to bdrv_drain_all.
> Currently all requests are drained immediately. In other words whenever
> it is called, IO throttling goes ineffective (examples: system reset,
> migration and many block job operations.). This is a loophole that guest
> could exploit. If we use the host clock, we can later just trust the
> nested poll. This could be done on top.
> 
> Note that for qemu-iotests case 093, which uses qtest, we still keep vm
> clock so the script can control the clock stepping in order to be
> deterministic.
> 
> Reviewed-by: Paolo Bonzini <address@hidden>
> Reviewed-by: Alberto Garcia <address@hidden>
> Signed-off-by: Fam Zheng <address@hidden>
> 
> ---
> v4: Fix the description. [Alberto]
> v3: More justification in commit message. [Stefan]
>     Add Paolo's and Alberto's rev-bys.
> v2: Don't break qemu-iotests 093.
> ---
>  block.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)

Queued for QEMU 2.4.  Please let me know if you think it's worth risking
adding it in QEMU 2.3.

Thanks, applied to my block-next tree:
https://github.com/stefanha/qemu/commits/block-next

Stefan

Attachment: pgpHrbnhjBBVT.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]