Messages in this thread | | | Date | Tue, 23 Nov 2004 15:41:03 +0100 | From | Florian Schmidt <> | Subject | Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm2-V0.7.30-2 |
| |
On Tue, 23 Nov 2004 16:21:26 +0100 Ingo Molnar <mingo@elte.hu> wrote:
> > * Florian Schmidt <mista.tapas@gmx.net> wrote: > > > ~$ 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. > > so in theory any scheduling delay of PID 988 in the above setup (the > SCHED_OTHER task) should not be able to negatively influence jackd, > correct?
correct
> In fact, does in this particular jack_test case PID 988 do > anything substantial?
Well, it registers the client with jackd, sets up the ports, registers the process() callback and then simply goes to sleep() for the desired runtime of the program. All these are non RT ops and should never be able to cause any xruns.
All the work is done by the process() callback which is called by libjack in a SCHED_FIFO thread. The process() callback is called once for each buffer that jackd processes.
I cannot explain the detailed mechanism of how jackd wakes its clients and communicates with them myself too well, so i'll leave this to Paul Davis (CC'ed). Care to elaborate, Paul?
flo - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |