[linux-audio-user] jackd has interruptions

Mark Knecht markknecht at gmail.com
Fri Nov 11 10:36:55 EST 2005

On 11/11/05, I. I. Ooisen <ii001001 at yahoo.ca> wrote:
> On Friday 11 November 2005 11:22 am, Mark Knecht wrote:
> i am a newbye to this mailing list (not to emphasize that this is my first
> subscription to *any* mailing list!): how can i get access to older messages?
> i signed up 24 hours ago :(

Oh, OK.

1) Try to 'bottom post' (your response after the thing you are
responding to) as it keeps the thread more readable.

2) Please feel free to trim the post so that it's clear what you are
responding to.

3) http://www.linuxdj.com/audio/lad/subscribelau.php

4) Because you are new:

  A few comments:

1) The current kernel from Ingo would be 2.4.16-rt9. I think that rt5
didn;t last very long and had some problems. Please try -rt9.

2) Make sure you reinstall the realtime-lsm package after building that kernel.

3) Make sure you create a realtime group and modprobe realtime to
enable that group:

modprobe realtime gid=600 any=1

where gid=600 is for my realtime group in /etc/groups.

4) Making best use of the kernel requires that you understand the ISR
number for your sound card and reset it's priority higher. This helps
a lot in reducing or eliminating xruns.

5) Remove .jackrc completely and let your system set a new one.

6) Here are my HDSP 9652 settings:

jackd -R -p 64 -d alsa -r 44100 -p 64 -n2 -d hw:1,0

I get a few xruns at -p 64 -n2. I get none at -p 256 -n 2. I am still
looking for the root cause of the few xruns I get at 64/2.

7) Make sure you have the Jack FIFOS mounted on tmpfs.

As a comment, I don't personally like Jack in /usr local. You might
consider rebuilding Jack one of these days with:

./configure --prefix=/usr

Hope this all helps a bit,.



On Thu, 10 Nov 2005 20:03:59 -0800
Mark Knecht <markknecht at gmail.com> wrote:

> jackd -R -p 64 -d alsa -r 44100 -p 64 -n2 -d hw:1,0

jackd -R -P 70 ...

to set the priority of jackd higher than all soundcard irq handlers
besides the soundcard irq.

Basically the priority setup should look something like this:

keyboard irq handler   - 99
rtc irq handler        - 99
soundcard irq handler  - 98

jackd prio             - 70 (creates watchdog at prio 80 and client
process() threads at prio 69)

all other irq handlers - around 50 (default)

Basically there's also some problems with the timer irq's on -rt kernels
(which my rt watchdog suffers from). Usually you would want to set
softirq-timer and softirq-ktime to high prios, too (so high prio
sleeping threads preempt low prio running threads when getting woken up.
Actually this should make sure that the timer interrupt which wakes up
the high prio thread after its sleep actually gets to run), but this
doesn't quite work with the kernels i tested (this is the reason why my
rt_watchdog doesn't work right).

I'll try with newer kernels and ask ingo about it if the problem
persists. Anyways, this should really only be a problem with midi
sequencers that are sleep based. When using an irq source for timing
this problem should go away.


Palimm Palimm!

- Mark

More information about the Linux-audio-user mailing list