On Fri, 2008-02-22 at 11:55 -0800, Sven-Thorsten Dietrich wrote: > > In high-contention, short-hold time situations, it may even make sense > to have multiple CPUs with multiple waiters spinning, depending on > hold-time vs. time to put a waiter to sleep and wake them up. > > The wake-up side could also walk ahead on the queue, and bring up > spinners from sleeping, so that they are all ready to go when the lock > flips green for them. > 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 - To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html