[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.1.10.0805081156450.3318@apollo.tec.linutronix.de>
Date: Thu, 8 May 2008 12:06:18 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: Daniel Walker <dwalker@...sta.com>
cc: Pierre Peiffer <peifferp@...il.com>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: futex: priority wakeup miss ordering
On Wed, 7 May 2008, Daniel Walker wrote:
>
> from commit ec92d08292d3e9b0823eba138a4564d2d39f25c7
>
> The wakeup ordering should be in priority order. However if the priority
> of a task is modified while it's waiting on the futex you will get an
> out of order wakeup.
>
> If you use a priority inheriting mutex this is correct. It's because the
> rtmutex hooks into sched_setscheduler to catch any priority changes,
> then re-queues with the new priority.. But the futex doesn't have this
> hook.
>
> Was this intentionally left out of this priority wake up patch? I
> thought I would let you know in case you had a specific reason for not
> handling this..
IIRC this has been discussed before. The priority ordering of the
plain mutex waiters is an optimization without guarantees of
correctness across a priority change. It's simply not worth the
additional complexity and overhead for that corner case.
Thanks,
tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists