On Mon, Jul 27, 2009 at 02:36:09PM +0200, Uwe Kleine-König wrote: | On Mon, Jul 27, 2009 at 01:57:31PM +0200, Denis Richard wrote: | > Hi all, | > We work on powerpc board with kernel 2.6.29.6-rt23. | > The kernel is configured with "Complete Preemption (Real-Time)". | > Working on our software, we have a strange behavior. | > A real time thread (SCHED_RR) can be preempted by non real time one | > (SCHED_OTHER). | > | > We wrote a little test program (at the end of this mail). | > This program creates 2 threads, a SCHED_RR one which processes during | > about 12s | > (long for a real time, but just for test), and a SCHED_OTHER one, | > started after the first one, | > which just modifies a global variable. The second one should not run | > during the execution of | > the first one. But it appends, the global variable is modified. | > | > > rr_other | > Create thread | > OTHER ran during RR | > The end | > > | > | > Is it normal, a non real time thread preempts a real time one ? (we | > think, it is not) | > Or is there something wrong in the test program, the kernel | > configuration, ... ? | Does | | # echo -1 > /proc/sys/kernel/sched_rt_runtime_us | | help? Also be prepared to find a WARNING on the kernel logs as the kernel gets worried everytime a CPU runs the same process for more than 10s. If Uwe's suggestion doesn't solve the issue, you may want to run the sched_switch tracer from ftrace. Steven Rostedt recently posted a userspace application to make this task easier. Have fun, Luis -- [ Luis Claudio R. Goncalves Bass - Gospel - RT ] [ Fingerprint: 4FDD B8C4 3C59 34BD 8BE9 2696 7203 D980 A448 C8F8 ] -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html