Re: [PATCH 1/19] MUTEX: Introduce simple mutex implementation

Bill Huey
2005-12-22T12:31:20Z

On Sat, Dec 17, 2005 at 04:43:05PM -0700, Matthew Wilcox wrote:
> I have a better example of something we currently get wrong that I
> haven't heard any RT person worry about yet. If two tasks are sleeping
> on the same semaphore, the one to be woken up will be the first one to
> wait for it, not the highest-priority task.
>
> Obviously, this was introduced by the wake-one semantics. But how to
> fix it? Should we scan the entire queue looking for the best task to
> wake? Should we try to maintain the wait list in priority order? Or
> should we just not care? Should we document that we don't care? ;-)

-rt deals with this using priority sorted wait queue and direct ownership
hand off to the woken thread. It's working fine for now, but things like
wake-all and company should probably be explored for various uses. A
strict general purpose and RT usage of the Linux kernel have different
performance characteristic and mutex selection at compile time should
address things precisely.

bill