[LAU] Hardware latency of firewire controller

Pieter Palmers pieterp at joow.be
Fri Apr 18 06:17:02 EDT 2008


Ismael Valladolid Torres wrote:
> Thanks a lot for the kind support!
> 
> On Thu, Apr 17, 2008 at 11:52 AM, Pieter Palmers <pieterp at joow.be> wrote:
>>  IRQ sharing is not a good thing, so avoid it as you can. Again the "32" is
>> not easy to interpret correctly. Read the following page to understand it:
>> http://www.reric.net/linux/pci_latency.html
> 
> Being the only device reporting a PCI latency value does mean that the
> firewire controller is the only one doing bus mastering in that system
> setup?

no, because most of your devices are PCI-express, and the pci-express 
bus doesn't have the latency concept. However from a "programming" point 
of view pci-express is backwards compatible to PCI, hence they report a 
value (of 0), although it doesn't mean anything.

> 
>>  Can you please provide the following information:
>>  1) the output of the attached script (python listirqinfo.py)
>>  2) the full output of lspci -v
>>  3) the jack command line used (if you use qjackctl you can run the
>> following command in a terminal to get the last command line used: "cat
>> ~/.jackdrc"
> 
> marcel at ubuntu:~$ cat ~/.jackdrc
> /usr/bin/jackd -R -p128 -dfreebob -r44100 -p512 -n3 -D
> 
> Check out attached files for the rest of the info. Again, thanks a lot!
> 

There is one problem with your setup: all interrupts run RT at priority 
50. However, jack defaults to a priority of 20. This causes two 
problems: first of all the 1394 interrupts don't have higher priority 
than other interrupts, hence can be delayed too long. Second: jack has 
lower priority than all interrupts, hence can be delayed too long. The 
main problem usually is the graphic card.

Can you check whether the following helps:

1) change the IRQ priority (possibly as root):
chrt -f -p 99 `pidof "IRQ-11"`

2) run jackd with the following command line (not as root):
/usr/bin/jackd -R -P70 -p128 -dfreebob -r44100 -p512 -n3

This should improve the situation. If so, please configure Rui's rtirq 
script as described in: 
http://freebob.sourceforge.net/index.php/IRQ_Threading_and_Priorities

you might even want to set the RTIRQ_RESET_ALL option to 1 in the config 
file described on that page.

Greets,

Pieter



More information about the Linux-audio-user mailing list