|
From: | Paolo Bonzini |
Subject: | [Qemu-devel] Re: [PATCH V4 2/3] qemu: Generic task offloading framework: threadlets |
Date: | Fri, 18 Jun 2010 09:52:36 +0200 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100430 Fedora/3.0.4-3.fc13 Lightning/1.0b2pre Thunderbird/3.0.4 |
On 06/17/2010 08:05 PM, Anthony Liguori wrote:
On 06/17/2010 05:09 AM, Paolo Bonzini wrote:+ while (QTAILQ_EMPTY(&(queue->request_list))&& + (ret != ETIMEDOUT)) { + ret = qemu_cond_timedwait(&(queue->cond), + &(queue->lock), 10*100000); + }Using qemu_cond_timedwait is a hack for not properly broadcasting the condvar in flush_threadlet_queue.I think Anthony answered this one.I think he said that the code has been changed so I am right? :)You're right about the condition we check in the exit path but the timedwait is needed to expire an idle thread.
In posix-aio-compat, yes. In threadlets you'll expire excess idle threads after each threadlet has completed. If you want to keep the threads above the min_threads-th ready for 10 seconds, that's fine; but it's not what the v4 code does.
Paolo
[Prev in Thread] | Current Thread | [Next in Thread] |