Re: 2.6.16-rc6-rt1

From: Ingo Molnar
Date: Tue Mar 14 2006 - 03:11:49 EST



* Esben Nielsen <simlo@xxxxxxxxxx> wrote:

> Well, I got my TestRTMutex compiled and it was successfull: It found
> bugs.

great!

I forgot to announce Thomas' great new rt-tester framework, which allows
easy testing of the kernel's PI implementation, via userspace scripts.
You can enable it via CONFIG_RT_MUTEX_TESTER, and the userspace scripts
are at:

http://people.redhat.com/mingo/realtime-preempt/testing/rt-tester.tar.bz2

Thomas' testing method has the advantage that it utilizes the kernel's
PI mechanism directly, hence it is easy to keep it uptodate without
having to port the kernel's PI code to userspace. We should add the
testcases for the bugs you just found.

> 1) Boosting nested locks simply doesn't work:

> This is easily fixed by

thanks, applied. [NOTE: had to apply it by hand because the patch was
whitespace damaged, it had all tabs converted to spaces.]

> 2) There is a spinlock deadlock when doing the following test on SMP:
>
> threads: 1 2
> lock 1 +
> + lock 2
> test: lockcount 1 lockcount 1
>
> lock 2 lock 1 <- spin deadlocks here
> - -
> test: lockcount 1 lockcount 1
>
> This happens because both tasks tries to lock both tasks's pi_lock but
> in opposit order. I don't have fix for that one yet.

well, this is a circular dependency deadlock - which is illegal in the
kernel, and which we detect for futex locks too - so it shouldnt happen.
Or did you see it happen for real?

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