Messages in this thread | | | Date | Tue, 28 Jul 2015 22:45:08 +0200 | From | Peter Zijlstra <> | Subject | Re: Next round: revised futex(2) man page for review |
| |
On Tue, Jul 28, 2015 at 10:23:51PM +0200, Thomas Gleixner wrote:
> > FUTEX_WAKE (since Linux 2.6.0) > > This operation wakes at most val of the waiters that are > > waiting (e.g., inside FUTEX_WAIT) on the futex word at the > > address uaddr. Most commonly, val is specified as either > > 1 (wake up a single waiter) or INT_MAX (wake up all wait‐ > > ers). No guarantee is provided about which waiters are > > awoken (e.g., a waiter with a higher scheduling priority > > is not guaranteed to be awoken in preference to a waiter > > with a lower priority). > > That's only correct up to Linux 2.6.21. > > Since 2.6.22 we have a priority ordered wakeup. For SCHED_OTHER > threads this takes the nice level into account. Threads with the same > priority are woken in FIFO order.
Maybe don't mention the effects of SCHED_OTHER, order by nice value is 'wrong'.
Also, this code seems to use plist, which means it won't do the right thing for SCHED_DEADLINE either.
Do we want to go fix that?
| |