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 <f...@redhat.com> > > --- > 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
pgpZ1C6I6nOfo.pgp
Description: PGP signature