Messages in this thread | | | Date | Wed, 9 Mar 2016 13:24:23 +0100 | From | Sebastian Andrzej Siewior <> | Subject | Re: [RFC v0] Use swait in completion |
| |
* 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.
> Josh
Sebastian
| |