Re: Next round: revised futex(2) man page for review

From: Peter Zijlstra
Date: Tue Jul 28 2015 - 16:46:00 EST


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?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/