lkml.org 
[lkml]   [2000]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [BUG] SMP, IRQ, USB, ksyms wiredness
On Sat, 29 Jan 2000, Philipp Matthias Hahn wrote:

> Hello Kernel folks!

> Then I tried loading usb-uhci.o which slowed down my machine. A look at
> /proc/interrupts showed the problem:
> 11: 0 IO-APIC-edge usb-uhci
> 19: 3557778 IO-APIC-level eth0
I took a look at the source and found some answers:
During boot arch/i386/kernel/pci-pc.c:1134 calls

IO_APIC_get_PCI_irq_vector(dev->bus->number, PCI_SLOT(dev->devfn), pin);

pin=4 is read from pic_config_space. lspci confirms this.

$ /sbin/lspci -s 00:07.2 -vv
00:07.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01) (prog-if 00 [UHCI])
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 set
Interrupt: pin D routed to IRQ 11
Region 4: I/O ports at d000

In arch/i386/kernel/io_apic.c:240 this is checked against
(mp_irqs[i].mpc_srcbusirq & 3), which is 0. So PIC->APIC translation fails
an IRQ11 is assigned to usb.

I removed this comparison and usb works fine now.

Is this a bug with APIC, PCI or is my BIOS broken?
My board is a gigabyte 6BXD with 2.4ir with IDE disabled.
When I use MT1.1 the interrupts are mapped as shown during boot:
03 00 0f 00 02 0f 02 10 ISA 15 -> APIC 2 INT 10h
When I use MT1.4 APIC mapping fails for:
03 00 0f 00 00 1c 02 13 PCI 7.0 -> APIC 2 INT 13h

By the way: drivers/usb/usb-uhci.c:2309 calls pci_enable_device()
This call can fail (mentioned in drivers/pci/pci.c:186) but is not
checked!

> Those 35k NMIs are also strange.
Ok, i didn't disable the nmi watchdog.

Philipp
--
/ / (_)__ __ ____ __ Philipp Hahn
/ /__/ / _ \/ // /\ \/ /
/____/_/_//_/\_,_/ /_/\_\ pmhahn@titan.lahn.de


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:56    [W:0.084 / U:0.228 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site