Re: 2.6.14-rc3-rt2

From: david singleton
Date: Thu Oct 06 2005 - 12:18:46 EST



On Oct 6, 2005, at 9:47 AM, Todd Kneisel wrote:

On 10/4/05, Ingo Molnar <mingo@xxxxxxx> wrote:

i have released the 2.6.14-rc3-rt2 tree, which can be downloaded from
the usual place:

http://redhat.com/~mingo/realtime-preempt/

the biggest change in this release is the long-anticipated merge of a
streamlined version of the "robust futexes/mutexes with priority
queueing and priority inheritance" code into the -rt tree. The original
upstream patch is from Todd Kneisel, with further improvements, cleanups
and -RT integration done by David Singleton.


My original patch implemented robust futexes using the existing futex
wait queue mechanisms, because the project I'm working on does not
need priority inheritance or other realtime features. David's changes
replaced the wait queue mechanisms with rt_mutexes. I'm working on
a patch to add my implementation back in, so the kernel will support
both robust wait-queue futexes and robust rt_mutex futexes. Does
anyone else see the need for this?

Also, my patch implemented only shared robust futexes. David's work
was based on mine, so the current code only supports shared robust
futexes that may or may not be priority inheritance. It doesn't support
priority inheritance mutexes that are not robust, or that are not shared.


The latest changes to the 2.6.14-rc3-rt10 patch is to make robust and
priority inheritance independent. The code now supports mutexes
that are robust or priority inheriting or both.

I hope to have glibc patches out soon for the new separation of robustness
and priority inheritance.

David

Please note that robust mutexes works with other flavors of kernel besides
realtime. The code works with all flavors of kernel, PREEMPT_NONE, PREEMPT_DESKTOP or PREEMPT_RT.




Todd.

-
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/