Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2

From: Florian Schmidt
Date: Tue Nov 23 2004 - 08:56:55 EST


On Tue, 23 Nov 2004 15:46:22 +0100
Ingo Molnar <mingo@xxxxxxx> wrote:

> i tried your new test-client, and i've got a generic question: should a
> jack client be able to generate an xrun via, other than via overloading
> jackd? E.g. i'm wondering about the following behavior: if start up
> jackd in the usual way:

The process() callback in a jackd client is run in a thread created by
libjack. This thread is run with SCHED_FIFO and at the same priority (or
one lower it seems) as the jackd server. Thus a client can only cause an
xrun when it takes a too long time to return from its process callback.

~$ ps -C jackd -cmL
PID LWP CLS PRI TTY TIME CMD
975 - - - ? 00:00:00 jackd
- 975 TS 19 - 00:00:00 -
- 976 TS 23 - 00:00:00 -
- 977 FF 110 - 00:00:00 -
- 978 FF 100 - 00:00:00 -

~$ ps -C jack_test -cmL
PID LWP CLS PRI TTY TIME CMD
988 - - - pts/1 00:00:00 jack_test
- 988 TS 20 - 00:00:00 -
- 989 FF 99 - 00:00:00 -

So when you ctrl-z out of jack_test you cause its process() thread to be
suspended, too, thus jackd cannot finish processing its graph.

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