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

From: Darren Hart
Date: Sun Apr 05 2009 - 17:49:57 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/