qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Re: [PATCH V4 2/3] qemu: Generic task offloading framew


From: Anthony Liguori
Subject: Re: [Qemu-devel] Re: [PATCH V4 2/3] qemu: Generic task offloading framework: threadlets
Date: Wed, 16 Jun 2010 09:27:12 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100423 Lightning/1.0b1 Thunderbird/3.0.4

On 06/16/2010 09:22 AM, Jamie Lokier wrote:
Paolo Bonzini wrote:
These should be (at least for now) block-obj-$(CONFIG_POSIX).

+        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.
Are you sure?  It looks like it also expires idle threads after a
fixed amount of idle time.

Yup, that's the intention of the code.

We signal instead of broadcast because broadcasting causes all threads to wake up which hurts performance. AFAICT, there is no correctness issue in using signal vs. broadcast.

Regards,

Anthony Liguori

-- Jamie




reply via email to

[Prev in Thread] Current Thread [Next in Thread]