[LAU] Trying to get rid of xruns

Matthew Smith matt at smiffytech.com
Sun Aug 3 19:24:59 EDT 2008


Quoth Matthew Smith at 2008-07-31 11:43...

<snip/>
> In an attempt to fix any latency issues, I have used the RT-modified 
> ketchup to get myself a kernel 2.6.25.8-rt7.
<snip/>
> Whilst going from the 'low-latency desktop' of my standard kernel to the 
> RT kernel has made a huge difference in the number of xruns that I am 
> seeing on Jack, it hasn't cured them completely.

Many thanks to those who responded on this issue - suggestions have been 
taken on board and this is where we are now.

Having enquired of the linux-rt-users list, I was advised to use 
2.6.24.7-rt17, being the "latest and greatest".  It appears that my 
issue with 2.6.25.8-rt7 is a know issue and that there are patches 
available.

So, I duly built the recommended kernel and the errors in dmesg have 
gone away.

I have looked at my /proc/interrupts and can't see any obvious conflicts.

However, I am now getting an almost constant stream of xruns - far worse 
than when I was using a standard kernel.  I tried disconnecting all my 
external USB devices but the xruns continued to show up in a 
never-ending stream.

Looking at the output of top and ps, there seem to be a lot of kernel 
processes that weren't there before which makes me wonder if I haven't 
stuffed up the configuration of the RT kernel.  (I was having to guess 
at the configuration values that were unfamiliar to me.)

For completeness, I should probably state that my fglrx (video) driver 
no longer shows up in /proc/interrupts - the driver is incompatible with 
RT kernels so I simply didn't install it.  (The driver is a 
closed-source one [with no available open source alternative] and the 
installation process tells me to go away because it doesn't like RT or 
low-latency kernels.)  My X session looks fine without it, so I question 
exactly what good it was doing...

Here's my /proc/interrupts:

            CPU0       CPU1
   0:  104035013      12175   IO-APIC-edge      timer
   1:         18          0   IO-APIC-edge      i8042
   8:          1          0   IO-APIC-edge      rtc
   9:      96344         17   IO-APIC-fasteoi   acpi
  12:       4280          0   IO-APIC-edge      i8042
  14:         37          0   IO-APIC-edge      ide0
  16:     146819        160   IO-APIC-fasteoi   ahci, uhci_hcd:usb2, eth0
  17:      82562          0   IO-APIC-fasteoi   uhci_hcd:usb3, HDA Intel
  18:         26          0   IO-APIC-fasteoi   uhci_hcd:usb4
  19:      81102        265   IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb5
NMI:          0          0   Non-maskable interrupts
LOC:   33916179   83674441   Local timer interrupts
RES:   37665467   38976190   Rescheduling interrupts
CAL:         40         35   function call interrupts
TLB:     247574     257703   TLB shootdowns
TRM:          0          0   Thermal event interrupts
THR:          0          0   Threshold APIC interrupts
SPU:          0          0   Spurious interrupts
ERR:          0

I've posted the relevant kernel .config here:
<http://www.smiffysplace.com/files/kconfig_rt_20080803>

1) Does anyone have any idea what's going wrong?

2) Does anyone have a .config for a 2.6.24 kernel with the RT patch that 
is working well with Jack that they would be willing to share?  I guess 
that starting from a known-good configuration would be my next logical 
step unless anyone can just spot the error.

Cheers

M


-- 
Matthew Smith
Smiffytech - Technology Consulting & Web Application Development
Business: http://www.smiffytech.com/
Personal: http://www.smiffysplace.com/
LinkedIn: http://www.linkedin.com/in/smiffy



More information about the Linux-audio-user mailing list