Tuesday 23 May 2006 19:13, Lee Revell:
On Wed, 2006-05-24 at 10:28 +0200, Wolfgang Woehl
wrote:
Hi, I want to try what Lee mentioned a couple of
times recently: Low
latency audio performance with 2.6 mainline -- no mingo-patch, no rt-lsm
(athlon xp 2600+, asus a7v8x-x, hdsp. On a 2.4.26 with lck patches this
system has good lowlat performance, solid jackd with -p 64 -n 2, so the
hardware should be ok. Ah well, looong dropouts on deep reiserfs walks
that never show up in jackd's messages but that's hopefully another
story).
Got 2.6.16.16 from
kernel.org. If I understood Lee right I could expect a
jackd with -p 64 -n 2 to work just fine but it doesn't. Loads of xruns.
What am I missing? What can I do to find out?
-p 64 -n 2 is pushing the envelope of what the mainline kernel can do.
128 or 256 should be solid. It will depend on the hardware and driver
set.
Run as root I get no xruns with a jackd -R -d alsa -p 64 -n2
(2.6.16.16-vanilla), with one of my average sessions (~8 tracks with plugins)
the average jackd message is like
load = 17.4066 max usecs: 207.000, spare = 1244.000
(Only with a 70 tracks ardour session there are occasionals but the disk
settings in ardour.rc seem to make a difference, they shouldn't I guess.)
This is great. Vanilla for me from now on.
Reiserfs is a poor choice of filesystem for low latency.
Also make sure you are in realtime mode - depending on the distro, the
realtime LSM may still be required. I guess you are using the PAM
method to enable non-root realtime?
I hadn't done my homework and wasn't aware of the privilege separation between
root and users. So I had tried without any of the 3 possible mechanisms (pam,
set_rlimits, rt-lsm?). And the way things are that doesn't work, ok. Thanks
for the hint, Lee.
Damn, it doesn't make sense to me. If I can configure the kernel to be or not
to be preemptible then what is the separation good for? Isn't overhead
because of preemption the only price tag?
--
Wolfgang