Messages in this thread | | | Date | Sat, 24 Jan 2015 11:05:29 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: futex(2) man page update help request |
| |
On Fri, 23 Jan 2015, Torvald Riegel wrote:
> On Fri, 2015-01-16 at 16:46 -0800, Darren Hart wrote: > > On 1/16/15, 12:54 PM, "Michael Kerrisk (man-pages)" > > <mtk.manpages@gmail.com> wrote: > > > > >Color me stupid, but I can't see this in futex_requeue(). Where is that > > >check that is "independent of the requeue type (normal/pi)"? > > > > > >When I look through futex_requeue(), all the likely looking sources > > >of EINVAL are governed by a check on the 'requeue_pi' argument. > > > > > > Right, in the non-PI case, I believe there are valid use cases: move to > > the back of the FIFO, for example (OK, maybe the only example?). > > But we never guarantee a futex is a FIFO, or do we? If we don't, then > such a requeue could be implemented as a no-op by the kernel, which > would sort of invalidate the use case. > > (And I guess we don't want to guarantee FIFO behavior for futexes.)
The (current) behaviour is:
real-time threads: FIFO per priority level sched-other threads: FIFO independent of nice level
The wakeup is priority ordered. Highest priority level first.
Thanks,
tglx
| |