Eric Blake <ebl...@redhat.com> writes:

> 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/

Drat, I proof read the commit message hoping to avoid such a mistake but
should have reread the comment :-)

Regards,

Anthony Liguori

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


Reply via email to