[LAU] Too many xruns

Fernando Lopez-Lezcano nando at ccrma.Stanford.EDU
Sat Sep 8 18:09:15 UTC 2012


On 09/07/2012 02:40 AM, Jeremy Jongepier wrote:
> On 09/07/12 11:23, Joakim Hernberg wrote:
>> All soft interrupts run at 50 by default, so they are all "raised" by
>> default.. Empirical testing on a couple of machines shows that it is
>> indeed beneficial to raise the priority of associated soft
>> interrupt threads.
>
> So you suggest to raise the priority of associated soft interrupt
> threads higher than the default prio of 50?

What I use with success is (and this is all done by rtirq and jackd if 
properly configured). All soft interrupts are left alone at their 
default value of 50 (anything running with SCHED_FIFO or SCHED_RR 
priority has priority over "normal" SCHED_OTHER scheduled processes - 
the number does not really matter and the default of 50 is fine[*]). The 
soundcard related software interrupts are raised so that sound 
processing takes priority over everything else. All jack SCHED_FIFO 
threads should run with a priority that is between 50 and the priority 
of the soundcard related software interrupts. There should be enough 
"irq priority space" around jack so that jack clients are not below 50 
and not above the soundcard software interrupts. Some clients 
(jconvolver is one) would benefit from additional headroom as they run 
extra threads right below the priority of the client thread and you 
probably don't want that to go below 50 (if you keep the default). This 
assumes you run jackd with -R and the os is set up to allow a normal 
user to do that and also lock memory down.

I have never had to tweak the hardware interrupts in the BIOS or 
elsewhere, software interrupts have always been enough.

You might want to make sure that, say, the HDMI sound interface does not 
have the priority raised if you are not using it.

-- Fernando

[*] some stuff, for example pd, runs some of its extra threads with 
SCHED_FIFO with low priorities (1 or 2, I think).


More information about the Linux-audio-user mailing list