Re: Newbie question on mutexes
Jamie Lokier <[email protected]> Fri, 13 Feb 2004 00:52:52 +0000
| Newsgroups | gmane.comp.lib.phil |
|---|---|
| Message-ID | <[email protected]> |
Abhijeet Bisain wrote: > Can someone please let me know what I am doing wrong. I would have expected > the higher priority thread to get the mutex, but don't see that behavior in > NPTL. In this example, provided it's running on a uniprocesor machine, NPTL is guaranteed to hand over the mutex to the first waiter in FIFO order. We could change the kernel futex code specifically for real-time tasks, so that the highest priority RT task is woken. However, on SMP or hyperthreaded systems that still wouldn't give the mutex to the highest priority task in many realistic cases, so it's not worth making the kernel code slower and more complex just to create a false expectation for NPTL users that happens to work on UP. What you observe is expected and you aren't doing anything wrong - except having the wrong expectation. :) -- Jamie