On Fri, 2008-02-22 at 11:55 -0800, Sven-Thorsten Dietrich wrote:
I did try an attempt at this one time. The logic was merely if the
pending owner was running, wakeup the next waiter. The results were
terrible for the benchmarks used, as compared to the current
implementation.
What this meant was that virtually every unlock performed a wakeup, if
not for the new pending owner, than the next-in-line waiter.
My impression at the time was that the contention for the rq lock is
significant, regardless of even if the task being woken up was already
running.
I can generate numbers if that helps.
-PWM
--