Messages in this thread | | | Date | Sun, 05 Apr 2009 14:49:39 -0700 | From | Darren Hart <> | Subject | Re: [tip PATCH v7 0/9] RFC: futex: requeue pi implementation |
| |
Thomas Gleixner wrote: > Darren, > > On Fri, 3 Apr 2009, Darren Hart wrote: >> The following series is v7 of the requeue_pi patches against >> linux-2.6-tip/core/futexes. The current futex implementation doesn't allow for >> requeueing of PI futexes, which leads to a thundering herd during >> pthread_cond_broadcasa()t (as opposed to a civilized priority ordered wakeup >> sequence). The core of the problem is that the underlying rt_mutex cannot be >> left with waiters and no owner (which would break the PI logic). This patch >> series updates the futex code to allow for requeueing from non-PI to PI futexes >> in support of PI aware pthread_cond_* calls along with some needful rt_mutex >> helper routines. The credit for the conceptual design goes to Thomas Gleixner, >> while the bugs and other idiocies present in this implementation should be >> attributed to me. > > I went through the patches with a fine comb again and there is nothing > left which triggered my futex wreckage sensors. Thanks for your > patience to go through the lather, rinse, repeat drill. > > I think we are at a point where that code simply needs exposure to the > hostile environment of RT-Java VMs. I'm going to pull that into > tip/next and into -rt. Even if we have no requeue_pi user right now we > definitly want to test the heck out of the changes which also affect > the existing futex ops. > > Uli, Jakub can you please go over the design and the user space > interface ? > > Darren, could you please polish the initial design notes - especially > point out the subtle differences between requeue and requeue_pi - and > send them into the thread? That might help Uli and Jakub and we > definitly want to have that info preserved in Documentation/ as well. >
Thanks Thomas! I'll review and update the docs (the emails you sent me last year along with git commit messages for these patches) and send out a new requeue_pi design and implementation document that we can consider for inclusion in Documentation/. I'll try and have something out on Monday.
-- Darren Hart IBM Linux Technology Center Real-Time Linux Team
| |