[LAU] priorities of interrupts or other fixes

Atte André Jensen atte.jensen at gmail.com
Mon Mar 8 05:31:36 EST 2010


Hi

Normally my ubuntu 9.10 with ubuntu stock kernel performs just fine for
me. I'm running through an edirol FA66 firewire sound card with 8ms latency.

However now I'm starting to prepare for some live performances, and now
things could (or should oar even *must*) perform better.

As some might know, my main audio application is renoise, but since it's
closed source, maybe we should focus more on how the problem manifests
itself in other ways?

Good example: I get two xrun about 2 seconds apart) when I open a
gnome-terminal. This is with no jackclients running, just qjackctl on
8ms latency through the firewire card.

This is normally no problem since if I work in renoise things really
stable (no xruns) and responsive. But for live usage I'm gonna throw
other applications (PD, chuck, sooperlooper) into the equation, so...

About my setup:
Laptop, 2GHz dual core, 2G ram.

atte at vestbjerg:~$ uname -r
2.6.31-20-generic

I have this in my limits.conf:
@audio          -       rtprio          99
@audio          -       memlock         unlimited

I notice a drastic improvement if I set the frequency govenor to
"performance" through the gnome panel applet, but I just discovered
(through "grep MHz /proc/cpuinfo" that this only seems to set one core
to 2Ghz, the other seems to be running "on demand". Shouldn't they both
be running at full steam, and how do I make them?

But my first thought (as reflected my the subject) was to raise the 
priority for the firewire card. However I seem to need help figuring out 
how to do that. For instance the last time I did this I used 'pidof "IRQ 
8', which doesn't work here (neither on ubuntu repo rt-kernel), pidof 
auto completes to this list:

Display all 124 possibilities? (y or n)
0                                    indicator-users-service
1                                    init
acpid                                iwl3945
ata_aux                              jackd
atd                                  kacpid
avahi-daemon                         kacpi_hotplug
bash                                 kacpi_notify
bluetooth                            khelper
bluetooth-applet                     khpsbpkt
bonobo-activation-server             khubd
compiz.real                          khungtaskd
console-kit-daemon                   kjournald
cpufreq-applet                       kmmcd
cpuset                               kmpath_handlerd
cron                                 knodemgrd_0
cupsd                                kpsmoused
dbus-daemon                          krfcommd
dbus-launch                          kseriod
dd                                   ksnapd
devkit-disks-daemon                  kstriped
devkit-power-daemon                  ksuspend_usbd
dhclient                             kswapd0
ecryptfs-kthrea                      kthreadd
evolution-alarm-notify               mgr
evolution-data-server-2.28           modem-manager
evolution-exchange-storage           mono
firefox                              multiload-applet-2
gconfd-2                             nautilus
gdm-binary                           netns
gdm-session-worker                   NetworkManager
gdm-simple-slave                     nm-applet
gdu-notification-daemon              notify-osd
getty                                pdflush
gnome-keyring-daemon                 phy0
gnome-panel                          polkitd
gnome-power-manager                  polkit-gnome-authentication-agent-1
gnome-pty-helper                     ps
gnome-screensaver                    pulseaudio
gnome-session                        python
gnome-settings-daemon                qjackctl.bin
gnome-terminal                       renoise
gnome-volume-control-applet          rsyslogd
gtk-window-decorator                 scsi_eh_0
gvfsd                                scsi_eh_1
gvfsd-burn                           scsi_eh_2
gvfsd-metadata                       scsi_eh_3
gvfsd-trash                          scsi_eh_4
gvfs-fuse-daemon                     scsi_eh_5
gvfs-gdu-volume-monitor              seahorse-daemon
gvfs-gphoto2-volume-monitor          sed
hald                                 sh

My interrupts:
atte at vestbjerg:~$ cat /proc/interrupts
            CPU0       CPU1
   0:     332326     331479   IO-APIC-edge      timer
   1:        784        769   IO-APIC-edge      i8042
   8:          1          0   IO-APIC-edge      rtc0
   9:       1064       1081   IO-APIC-fasteoi   acpi
  12:         75         78   IO-APIC-edge      i8042
  14:       3590       3577   IO-APIC-edge      ata_piix
  15:          0          0   IO-APIC-edge      ata_piix
  16:     118009     118898   IO-APIC-fasteoi   uhci_hcd:usb3, ohci1394
  17:          0          0   IO-APIC-fasteoi   mmc0
  18:       7196       7100   IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb7
  19:          0          0   IO-APIC-fasteoi   uhci_hcd:usb6
  21:          0          0   IO-APIC-fasteoi   uhci_hcd:usb4
  22:        288        318   IO-APIC-fasteoi   HDA Intel
  23:         10         10   IO-APIC-fasteoi   ehci_hcd:usb2, uhci_hcd:usb5
  28:       6897       6865   PCI-MSI-edge      ahci
  29:        957        883   PCI-MSI-edge      eth0
  30:       6253       6394   PCI-MSI-edge      i915
  31:          0          0   PCI-MSI-edge      iwl3945
NMI:          0          0   Non-maskable interrupts
LOC:     326940     325631   Local timer interrupts
SPU:          0          0   Spurious interrupts
CNT:          0          0   Performance counter interrupts
PND:          0          0   Performance pending work
RES:     265237     265761   Rescheduling interrupts
CAL:         60        111   Function call interrupts
TLB:        422        295   TLB shootdowns
TRM:          0          0   Thermal event interrupts
THR:          0          0   Threshold APIC interrupts
MCE:          0          0   Machine check exceptions
MCP:          2          3   Machine check polls
ERR:          0
MIS:          0

About my hardware:
atte at vestbjerg:~$ lspci
00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory 
Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 
Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 
Integrated Graphics Controller (rev 03)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI 
Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI 
Controller #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI 
Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio 
Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express 
Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express 
Port 2 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express 
Port 3 (rev 03)
00:1c.3 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express 
Port 4 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI 
Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI 
Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI 
Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI 
Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)
00:1f.0 ISA bridge: Intel Corporation 82801HEM (ICH8M) LPC Interface 
Controller (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) 
IDE Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) 
SATA AHCI Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller 
(rev 03)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. 
RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 01)
04:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG 
[Golan] Network Connection (rev 02)
0a:01.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller 
(rev 05)
0a:01.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro 
Host Adapter (rev 22)
0a:01.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 12)
0a:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host 
Adapter (rev 12)
0a:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev ff)

So basically I'm a bit lost here. Any help or input would be greatly 
appreciated!

-- 
Atte

http://atte.dk   http://modlys.dk



More information about the Linux-audio-user mailing list