2.6.15-rt4-sr1

From: Steven Rostedt
Date: Wed Jan 11 2006 - 15:46:15 EST


I've just uploaded my new maintenance release.

fixes:

- light soft lockup - currently it doesn't detect the light soft lockups
because the counter was being reset in the wrong place. Not sure if
this was done earlier with some other issue. But I needed this fix
to get the low priority lockup to be detected.

- posix_timers deadlock - There's a loop in the posix_timeres code that
is entered if the current process is a higher priority than the
softirqd thread, and it spins until the softirqd thread is finished.
But since the thread is of a higher priority than the softirqd, it
deadlocks.

- read_trylock_rt - added this for cases that have a loop on
read_trylock. Since in RT a read lock is a mutex, a read_trylock
will fail even if the owner has it only for reading. But since
the reads are not protected with irqsaves, this can deadlock when
a high priority process preempts the owner of the lock and spins
till it's released. (this was seen in signal.c: send_group_sigqueue,
there may be others)

Still at the normal location:

http://home.stny.rr.com/rostedt/patches/patch-2.6.15-rt4-sr1

Here is the program that showed all these nice deadlocks ;)

http://www.kihontech.com/tests/rt/timer_stress.c

(Run with -P to get the posix deadlocks)

-- Steve


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