On Sep 13, 2005, at 9:55 AM, Perez-Gonzalez, Inaky wrote:
From: David Singleton Here is a set of patches that implement robust futexes with priority queuing and priority inheritance on a per futex basis for the 2.6.13 kernel. Priority queuing and priority inheritance for robust futexes are implemented using the rt_mutex structure, which nicely handles the priority queuing and inheritance features. The rt_mutexstructurehas been extended to allow priority inheritance on a per mutexI need to see this applied to a tree, because the patch is kind of difficult to follow if not; however, a few tidbits: * In the common_robust_pi patch, in futex_wait_robust() at the end of the function: isn't find_task_by_pid() to be protected with the task list lock? [I don't remember for sure].
You're right, find_task_by_pid needs the read lock head of the tasklist_lock.
I'll update the patches.
* I still find that forcing a mutex interface through a queue interface is An Ugly And Cumbersome Hack (tm) and will come back to bite us in the future. We should be sticking to maintain the futex interface like it is for compatibility and simple mutexes/waitqueues and create a new mutex interface with all the new features. * How do you avoid the race conditions in the unlock path when fast path is enabled? It is not to clear to me what are the fast path rules--again this could also be because I wasn't able to apply this to a tree and see the whole picture. -- Inaky
_______________________________________________ robustmutexes mailing list [email protected] https://lists.osdl.org/mailman/listinfo/robustmutexes
