[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] main-loop: drop the BQL if the I/O appears to b
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH] main-loop: drop the BQL if the I/O appears to be spinning |
Date: |
Fri, 05 Apr 2013 09:04:30 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130311 Thunderbird/17.0.4 |
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
signature.asc
Description: OpenPGP digital signature