Messages in this thread | | | Date | Fri, 13 Jun 2008 01:30:58 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: [PATCH 5/5] futex: fix miss ordered wakeups |
| |
On Thu, 12 Jun 2008, Daniel Walker wrote: > On Fri, 2008-06-13 at 00:43 +0200, Thomas Gleixner wrote: > > On Thu, 12 Jun 2008, Daniel Walker wrote: > > > > > > > > On Thu, 2008-06-12 at 21:55 +0200, Thomas Gleixner wrote: > > > > Also your interpretation of the POSIX requirement is very > > > > questionable: > > > > > > > > "If there are threads blocked on the mutex object referenced by mutex > > > > when pthread_mutex_unlock() is called, resulting in the mutex > > > > becoming available, the scheduling policy shall determine which > > > > thread shall acquire the mutex." > > > > > > The key is "scheduling policy" .. When the mutex is un-blocked the next > > > task to run is the same as if the scheduler was selecting tasks from the > > > list of blocked tasks .. For Linux, that means the highest priority > > > tasks should be selected.. So it's no more acceptable for the scheduler > > > to priority invert some tasks than it is for the futex to do it. > > > > Sigh, when do you actually get a gripe that the default futex > > implementation does not and can not guarantee that at all and therefor > > your "correctness" patch is as important as a bag of rice which > > toopled over in China ? > > Well, the last email I got from Arjan said this, > > ".. Don't look at the release path... look at the acquire path. > If a thread sees the futex is free, it'll take it, without even going > to the kernel at all." > > And yes, I understand that fully.
Great. Case closed, nothing to argue about.
Thanks,
tglx
| |