On Wed, 9 Mar 2016 13:24:23 +0100 Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> wrote: > * Josh Cartwright | 2016-03-08 12:26:56 [-0600]: > > >Is it really just about latency? Does this deferral not lead to an > >inversion in the case where the single woken task isn't the highest > >priority waiter on the completion (and doesn't run due to a > >middle-priority thing spinning)? > > This would be case, yes. Not only with deferral. Say you have two > waters: 1st one is MID-prio and the second is HI-prio. Currently after > the wakeup of the MID-prio waiter you get preempted. Waking all of them > at once would put the second waiter first on the CPU. > Samething without the deferral flag. > > >In order for this to work, it seems like the chosen waiter would need to > >inherit the highest priority of all waiters (which AFAICT isn't > >happening). > > sorting the waiters by priority? This will be fun. This is only done for > the rtmutex waiters. > Hmm, perhaps we should use an rbtree to sort simple waiters by priority :-) Probably wont make them simple anymore. -- Steve -- 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