[LAU] buying a new laptop

Clemens Ladisch clemens at ladisch.de
Fri Sep 9 11:57:44 UTC 2011


andy baxter wrote:
> The specific problem I'm trying to solve is that the firewire card in
> the laptop is on the same irq as the onboard sound card and one of the
> usb ports:
> 
>   17:        271        120   IO-APIC-fasteoi   uhci_hcd:usb6, HDA Intel, ohci1394
> 
> [USB] Buses 1 and 2 are used by plug-in devices; 3 is used by onboard
> peripherals, and the rest seem to be unused, so I assume that it doesn't
> matter that usb6 is shared; only the sound-card.

When an interrupt on line 17 arrives, the kernel asks all attached
drivers whether their device needs servicing.

Big latencies usually are the result of long-running interrupt handlers,
so an unused device does not matter much, but these interrupt checks
still are unneeded work.

Please note that UHCI and EHCI controllers share ports; UHCI is for
USB 1.x devices, EHCI, for 2.0 ones.  Therefore, one of your ports
will be usb6 when you connect a full- or low-speed device.  (Only very
incompetent laptop makers wouldn't deactivate unused controllers.)

> Is what you're saying that the only way round the problem is to disable
> the other devices on that irq altogether?

I'm not sure whether those other interrupt handlers are much of
a problem, but if they are, yes.

Please note that shared interrupts are not the only latency source;
interrupt handlers for any device (or system management interrupt
handlers installed by the BIOS) could block the CPU for too long.


And just to show off: here is my /proc/interrupts, with four PCI(e) cards:
:-)

CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       
  0:        135          0          0          7        779     205506   IO-APIC-edge      timer
  1:          1          0          0          0          9       7300   IO-APIC-edge      i8042
  4:          0          0          0          0          0          2   IO-APIC-edge    
  7:          0          0          0          0          0          0   IO-APIC-edge      parport0
  9:          0          0          0          0          0          0   IO-APIC-fasteoi   acpi
 14:          0          0          0          0          1         53   IO-APIC-edge      pata_atiixp
 15:          0          0          0          0          0          0   IO-APIC-edge      pata_atiixp
 16:          0          0          0          0          3        885   IO-APIC-fasteoi   hda_intel
 17:          0          0          0          0          0          5   IO-APIC-fasteoi   firewire_ohci
 18:          0          0          0          0          2       1712   IO-APIC-fasteoi   radeon
 19:          0          0          0          0          2         18   IO-APIC-fasteoi   hda_intel
 20:          0          0          0          0        134      42418   IO-APIC-fasteoi   oxygen
 21:          0          0          0          0          0          0   IO-APIC-fasteoi   EMU10K1
 22:          0          0          0          0          0          0   IO-APIC-fasteoi   YMFPCI
 23:          0          0          0          0          0          5   IO-APIC-fasteoi   firewire_ohci
 40:     565565          0          0          0          0          0  HPET_MSI-edge      hpet2
 41:          0          0          0          0          0          0   PCI-MSI-edge      aerdrv, PCIe PME
 42:          0          0          0          0          0          0   PCI-MSI-edge      aerdrv, PCIe PME
 43:          0          0          0          0         36      15254   PCI-MSI-edge      ahci
 44:          0          0          0          0          0          0   PCI-MSI-edge      eth0
 45:          0          0          0          0         16        713   PCI-MSI-edge      ehci_hcd:usb1
 46:          0          0          0          0          0          0   PCI-MSI-edge      ehci_hcd:usb2
 47:          0          0          0          0          0        804   PCI-MSI-edge      ohci_hcd:usb3
 48:          0          0          0          0          0         40   PCI-MSI-edge      ohci_hcd:usb4
 49:          0          0          0          0          0          1   PCI-MSI-edge      ohci_hcd:usb5
 50:          0          0          0          0          0          1   PCI-MSI-edge      ohci_hcd:usb6
 51:          0          0          0          0          0          0   PCI-MSI-edge      ohci_hcd:usb7
NMI:          0          0          0          0          0          0   Non-maskable interrupts
LOC:        159     538453     575689     528275     507949     690032   Local timer interrupts
SPU:          0          0          0          0          0          0   Spurious interrupts
PMI:          0          0          0          0          0          0   Performance monitoring interrupts
IWI:          0          0          0          0          0          0   IRQ work interrupts
RES:      34599      25532      23354      12203      15350      13619   Rescheduling interrupts
CAL:       1122       7777        981        718       1188      11005   Function call interrupts
TLB:        279       8399        908        624        485        550   TLB shootdowns
THR:          0          0          0          0          0          0   Threshold APIC interrupts
MCE:          0          0          0          0          0          0   Machine check exceptions
MCP:         23         23         23         23         23         23   Machine check polls
ERR:          0
MIS:          0


Regards,
Clemens


More information about the Linux-audio-user mailing list