cpus: Fix throttling during vm_stop
Throttling thread sleeps in VCPU thread. For high throttle percentage
this sleep is more than 10ms. E.g. for 60% - 15ms, for 99% - 990ms.
vm_stop() kicks all VCPUs and waits for them. It's called at the end of
migration and because of the long sleep the migration downtime might be
more than 100ms even for downtime-limit 1ms.
Use qemu_cond_timedwait for high percentage to wake up during vm_stop.
Signed-off-by: Yury Kotov <[email protected]>
Reviewed-by: Eric Blake <[email protected]>
Message-Id: <
20190909131335[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>