Re: realtime-preempt for MIPS - compile problem with rwsem

From: Ryan McAvoy
Date: Wed Jun 21 2006 - 11:03:50 EST


Hi Steve,

Thanks for your reply.

Steven Rostedt wrote:

First, whenever sending mail about the -rt patch, always CC Ingo (and
perhaps Thomas Gliexner and myself).

Thanks, I will do that.

2.6.15 had lots of problems with -rt. Mainly the patch went through some
major rework, and Ingo was busy getting mutexes into mainline. So the
2.6.15-rtX was sort of neglected. It would be best to use 2.6.16-rtX and
maybe even 2.6.17-rtX

Which also comes the question: Which -rt patch are you actually trying?

patch-2.6.15-rt21 . I have also tried using the 2.6.16 kernel and
patch-2.6.16-rt29 and have the same problems with it. (I may be
constrained in having to use a 2.6.15 kernel ... but would be happy to
get 2.6.16 working /stable as a starting point.)

Yep, try the following patch: (completey untested since I don't have a
mips machine).

config RWSEM_GENERIC_SPINLOCK
bool
- depends on !PREEMPT_RT
+ depends on PREEMPT_RT
default y

I did just that when I first started with these patches and did
succeed in getting it compiling and booting. The resulting kernel,
however, is very unstable and hangs frequently with no output. (It
will hang within hours if left idle. I can hang it more quickly by
attempting to use it). I have deadlock detection turned on and have
confirmed that it does produce output at least for some deadlocks:
http://groups.google.com/group/linux.kernel/browse_frm/thread/1559667001b7da2d/2558b539a5adc660?lnk=st&q=realtime+preempt+mips&rnum=2&hl=en#2558b539a5adc660
In the more common hangs though, I get no output.

I decided to review the changes I made in getting it to compile and
was hoping that this one may be the cause of the instability. I
thought that perhaps this change was incorrect because
include/asm-mips/rwsem.h is introduced by the rt-preempt patch and
would only be used if RWSEM_GENERIC_SPINLOCK was off. [As well, it
seemed like something fundamental enough to account for the general
instability I am seeing.]

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