Re: [tip PATCH v7 0/9] RFC: futex: requeue pi implementation

Darren Hart
2009-04-05T21:49:57Z

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