On 04/05/2013 07:46 AM, Anthony Liguori wrote:
> The char-flow refactoring introduced a busy-wait that depended on
> an action from the VCPU thread.  However, the VCPU thread could
> never take that action because the busy-wait starved the VCPU thread
> of the BQL because it never dropped the mutex while running select.
> 
> Paolo doesn't want to drop this optimization for fear that we will
> stop detecting these busy waits.  I'm afraid to keep this optimization
> even with the busy-wait fixed because I think a similar problem can
> occur just with heavy I/O thread load manifesting itself as VCPU pauses.
> 
> As a compromise, introduce an artificial timeout after a thousand
> iterations but print a rate limited warning when this happens.  This
> let's us still detect when this condition occurs without it being
> a fatal error.
> 

> +     * print a message to the screen.  If we run into this condition, create
> +     * an fake timeout in order to give the VCPU threads a chance to run.

s/an fake/a fake/

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to