Re: Real-Time Preemption, -RT-2.6.10-rc2-mm3-V0.7.31-7

From: Ingo Molnar
Date: Wed Dec 01 2004 - 10:43:56 EST



ok, got the latest traces from Rui offlist.

here's a summary of an xrun that went like this:

jackd-4711 00000000 0.002ms (+0.000ms): do_poll (sys_poll)
...
jackd-4711 80000002 0.012ms (+0.000ms): dequeue_task (deactivate_task)
...
IRQ 5-3052 ........ 1.946ms (+0.000ms): -> jackd-4711
[ 00000027 00000001 ]: try_to_wake_up
...
qjackctl-4719 ........ 2.362ms (+0.000ms): common_interrupt:
[ b75e9090 00000005 00000000 ]
...
IRQ 5-3052 00000000 2.473ms (+0.000ms): xrun (snd_pcm_period_elapsed)
...

this shows an interesting phenomenon: for whatever reason IRQ5's thread
didnt run until timestamp 1.946ms. There is lots of idle time between
timestamps 0.012ms and 1.946ms, so this must be some weird condition.

Rui, could you activate trace_freerunning and send me a couple of 'big'
traces that result out of it? Apparently there is some other, earlier
activity that caused this to happen to IRQ5. Nothing seems to have woken
up IRQ5 when it ran, which is weird by itself too.

if IRQ thread 5 got delayed somehow that might explain the xrun: the
hardware interrupt had no chance to run. But how IRQ5 could stay on the
runqueue while the idle thread managed to run is strange.

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/