Re: [LAU] buying a new laptop

From: Clemens Ladisch <clemens@email-addr-hidden>
Date: Fri Sep 09 2011 - 14:57:44 EEST

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
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-user
Received on Fri Sep 9 16:15:01 2011

This archive was generated by hypermail 2.1.8 : Fri Sep 09 2011 - 16:15:01 EEST