Re: [PATCH][RFC] sched: Isochronous class for unprivileged soft rtscheduling
From: Con Kolivas
Date: Wed Jan 19 2005 - 19:23:44 EST
Jack O'Quin wrote:
Try again with JACK 0.99.48. It's in CVS now, but you probably need
this tarball to get around the dreaded SourceForge anon CVS lag...
http://www.joq.us/jack/tarballs/jack-audio-connection-kit-0.99.48.tar.gz
Thanks it finally ran to completion. By the way the patch you sent with
the test suite did not apply so I had to do it manually (booraroom..)
The results I get with these versions are a lot more stable. But,
there are still some puzzles about the scheduling. Do you distinguish
different SCHED_ISO priorities?
It was not clear whether that would be required or not. This is why
testing is so critical because if you are having latency issues it
wouldn't be a problem of getting cpu time since your cpu usage is well
below the 70% limit.
JACK runs with three different SCHED_FIFO priorities:
(1) The main jackd audio thread uses the -P parameter. The JACK
default is 10, but Rui's script sets it with -P60. I don't think
the absolute value matters, but the value relative to the other JACK
realtime threads probably does.
(2) The clients' process threads run at a priority one less (59).
(3) The watchdog timer thread runs at a priority 10 greater (70).
(4) LinuxThreads creates a manager thread in each process running
one level higher than the highest user realtime thread priority.
Since I (finally) have it running at this end at last I'll do some
benchmarking of my own to see how (lack of) priorities affects
SCHED_ISO. If it is inadequate, it wont be too difficult to add them to
the design. The problem with priorities is that once you go over the cpu
limit everyone suffers equally; but that's a failsafe that you shouldn't
actually hit in normal usage so it probably doesn't matter... Hmm come
to think of it, it probably _is_ a good idea to implement priority
support afterall.
Cheers,
Con
-
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/