From: Peter Dimov (pdimov_at_[hidden])
Date: 2006-10-27 10:29:56
Anthony Williams wrote:
> "Peter Dimov" <pdimov_at_[hidden]> writes:
>> Peter Dimov wrote:
>>> Howard Hinnant wrote:
>>>> So the fast path would check these bits and avoid the notify_all if
>>>> they weren't set.
>>> Thanks, I'll try this tomorrow. Later today, I mean.
>> Works splendidly on uniprocessor, but displays the same odd behavior
>> I've been seeing with the other algorithms on my Pentium D (with
>> 0R+4W+0F: 46
>> 0R+0W+4F: 14
>> 0R+4W+4F: 10 (!)
>> The Windows scheduler doesn't like us. Or I've made a mistake
>> somewhere. Even if I didn't, it seems to me that the bit doesn't
>> help in the 4W case since there's always a writer waiting, so we hit
>> the notify_all.
> Which mutex/condition implementation are you using?
> RC-1.34/HEAD/1.33.1 or thread_rewrite?
HEAD, but the phenomenon above is not synchronization primitive-specific.
I'm seeing it with semaphore-based implementations as well.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk