Return-Path: Delivered-To: apmail-apr-bugs-archive@www.apache.org Received: (qmail 75728 invoked from network); 8 Jun 2007 17:46:38 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 8 Jun 2007 17:46:38 -0000 Received: (qmail 94982 invoked by uid 500); 8 Jun 2007 17:46:42 -0000 Delivered-To: apmail-apr-bugs-archive@apr.apache.org Received: (qmail 94953 invoked by uid 500); 8 Jun 2007 17:46:42 -0000 Mailing-List: contact bugs-help@apr.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@apr.apache.org Delivered-To: mailing list bugs@apr.apache.org Received: (qmail 94942 invoked by uid 99); 8 Jun 2007 17:46:42 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 08 Jun 2007 10:46:42 -0700 X-ASF-Spam-Status: No, hits=-99.5 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 08 Jun 2007 10:46:38 -0700 Received: by brutus.apache.org (Postfix, from userid 33) id 031A57141EE; Fri, 8 Jun 2007 10:46:17 -0700 (PDT) From: bugzilla@apache.org To: bugs@apr.apache.org Subject: DO NOT REPLY [Bug 42305] - rework win32 condition variable In-Reply-To: X-Bugzilla-Reason: AssignedTo Message-Id: <20070608174618.031A57141EE@brutus.apache.org> Date: Fri, 8 Jun 2007 10:46:17 -0700 (PDT) X-Virus-Checked: Checked by ClamAV on apache.org DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG� RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT . ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND� INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=42305 ------- Additional Comments From davi@haxent.com.br 2007-06-08 10:46 ------- I think that the semaphore wakeups are task priority and FIFO ordered. The critical section contention is minimal because most of the time only one thread is waked up. Even for broadcast case (wake up all threds) it won't hurt much since the "critical" code is fairly fast (very few instructions). Also, most high-performance mutex implementations spin (briefly) the lock because going to kernel is way more costly, which is true for the broadcast case. Besides this, there isnt much that can be done about fairness without kernel help, that's probably why Vista ships a whole new CV primitive (WakeConditionVariable). Linux fixed this issue by allowing waiters of condition variables (futex) to be requeued to a mutex (FUTEX_CMP_REQUEUE). -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. --------------------------------------------------------------------- To unsubscribe, e-mail: bugs-unsubscribe@apr.apache.org For additional commands, e-mail: bugs-help@apr.apache.org