Messages in this thread | | | Date | Mon, 08 Dec 2003 22:51:49 -0500 | From | Bob <> | Subject | Re: balance interrupts |
| |
Thanks Ken, I've learned from you.
Len Brown wrote:
>Most IO-APIC systems have PCI interrupt lines hard-wired directly to >IO-APIC interrupt pins. If an interrupt isn't where you want it to be, >you need to physically move a card to another slot so that it gets a >different wire. A board with decent documentation will tell you what >slots get which interrupt wires. > >Today basically all boards have also a PIRQ router that is used to map >these PCI interrupt wires down into PIC interrupt inputs for when the >system is in PIC compatibility mode (eg. when running the booter). >Sometimes they can also re-map interrupt lines in IO-APIC mode. > >Since your system is running in ACPI mode, the output of acpidmp is >needed to figure out exactly that the BIOS is saying the board can do. >The output of lspci -l with this will tell us if we can split apart the >SATA interrupts, or if they're wired together. > >Another twist is that sometimes enabling/disabling devices in the BIOS >SETUP will change how the BIOS configures the hardware and make more >interrupts available. > MSI K7N2 MCP2-T, AMD xp3000+ 333mhz 1:1 clock 2.6.0-test11 pre-emptive, anticipatory, acpi, apic, lapic
The manual documents that two pairs of slots will share irq's, one will not. Disabling devices can free up half a dozen interrupts, but still only three will be used for the five slots. I can change which three irq's; that's nothing. No apic or acpi option or manual irq selection will do anything but change which three interrupts are used for pci slots, and nothing will change how many onboard devices per irq, though again which irq can be changed, but that's meaningless(if you can hack a way, I'm not arguing!).
lspci -l doesn't work but here is a hex dump by lspci -vvv
3ware hd controller card with 4 drives is on interrupt 16 with a two-slot pcmcia controller, agp8 card always shares interrupt with slot 5 if there is something in slot 5. It's physically impossible to fit 3ware or pcmcia in slot 3 which is the only one with its own interrupt (agp has its own by not putting anything in slot 5! X nvidia driver locks linux up, X nv works, this is why I'm interested in potential conflicts).
-Bob
cat /proc/interrupts CPU0 0: 65029245 IO-APIC-edge timer 1: 28681 IO-APIC-edge i8042 2: 0 XT-PIC cascade 8: 1 IO-APIC-edge rtc 9: 0 IO-APIC-level acpi 12: 152616 IO-APIC-edge i8042 14: 22 IO-APIC-edge ide0 15: 24 IO-APIC-edge ide1 16: 715655 IO-APIC-level 3ware Storage Controller, yenta, yenta 17: 2170675 IO-APIC-level eth0 21: 0 IO-APIC-level NVidia nForce2 NMI: 0 [works if lilo append="nmi_watchdog=2"] LOC: 65024840 ERR: 0 MIS: 0
00:00.0 Host bridge: nVidia Corporation: Unknown device 01e0 (rev c1) Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 0 Region 0: Memory at d0000000 (32-bit, prefetchable) [size=128M] Capabilities: [40] AGP version 3.0 Status: RQ=32 Iso- ArqSz=2 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3+ Rate=x4,x8 Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=x4 Capabilities: [60] #08 [2001]
00:00.1 RAM memory: nVidia Corporation: Unknown device 01eb (rev c1) Subsystem: Micro-Star International Co., Ltd.: Unknown device 5700 Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
00:00.2 RAM memory: nVidia Corporation: Unknown device 01ee (rev c1) Subsystem: Micro-Star International Co., Ltd.: Unknown device 5700 Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
00:00.3 RAM memory: nVidia Corporation: Unknown device 01ed (rev c1) Subsystem: Micro-Star International Co., Ltd.: Unknown device 5700 Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
00:00.4 RAM memory: nVidia Corporation: Unknown device 01ec (rev c1) Subsystem: Micro-Star International Co., Ltd.: Unknown device 5700 Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
00:00.5 RAM memory: nVidia Corporation: Unknown device 01ef (rev c1) Subsystem: Micro-Star International Co., Ltd.: Unknown device 5700 Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
00:01.0 ISA bridge: nVidia Corporation nForce2 ISA Bridge (rev a3) Subsystem: Micro-Star International Co., Ltd.: Unknown device 5700 Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 0 Capabilities: [48] #08 [01e1]
00:01.1 SMBus: nVidia Corporation nForce2 SMBus (MCP) (rev a2) Subsystem: Micro-Star International Co., Ltd.: Unknown device 5700 Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- Interrupt: pin A routed to IRQ 23 Region 0: I/O ports at e800 [size=32] Capabilities: [44] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:04.0 Ethernet controller: nVidia Corporation nForce2 Ethernet Controller (rev a1) Subsystem: Micro-Star International Co., Ltd.: Unknown device 570c Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 0 (250ns min, 5000ns max) Interrupt: pin A routed to IRQ 20 Region 0: Memory at e5083000 (32-bit, non-prefetchable) [size=4K] Region 1: I/O ports at ec00 [size=8] Capabilities: [44] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:05.0 Multimedia audio controller: nVidia Corporation nForce MultiMedia audio [Via VT82C686B] (rev a2) Subsystem: Micro-Star International Co., Ltd.: Unknown device 5700 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 0 (250ns min, 3000ns max) Interrupt: pin A routed to IRQ 22 Region 0: Memory at e5000000 (32-bit, non-prefetchable) [size=512K] Capabilities: [44] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:06.0 Multimedia audio controller: nVidia Corporation nForce2 AC97 Audio Controler (MCP) (rev a1) Subsystem: Micro-Star International Co., Ltd.: Unknown device 5700 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 0 (500ns min, 1250ns max) Interrupt: pin A routed to IRQ 21 Region 0: I/O ports at e000 [size=256] Region 1: I/O ports at e400 [size=128] Region 2: Memory at e5080000 (32-bit, non-prefetchable) [size=4K] Capabilities: [44] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:08.0 PCI bridge: nVidia Corporation: Unknown device 006c (rev a3) (prog-if 00 [Normal decode]) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 0 Bus: primary=00, secondary=01, subordinate=03, sec-latency=32 I/O behind bridge: 00009000-0000cfff Memory behind bridge: e3000000-e4ffffff Prefetchable memory behind bridge: fff00000-000fffff BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-
00:09.0 IDE interface: nVidia Corporation nForce2 IDE (rev a2) (prog-if 8a [Master SecP PriP]) Subsystem: Micro-Star International Co., Ltd.: Unknown device 5700 Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 0 (750ns min, 250ns max) Region 4: I/O ports at f000 [size=16] Capabilities: [44] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:1e.0 PCI bridge: nVidia Corporation nForce2 AGP (rev c1) (prog-if 00 [Normal decode]) 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: 32 Bus: primary=00, secondary=05, subordinate=05, sec-latency=32 I/O behind bridge: 0000f000-00000fff Memory behind bridge: e1000000-e2ffffff Prefetchable memory behind bridge: d8000000-dfffffff BridgeCtl: Parity- SERR+ NoISA- VGA+ MAbort- >Reset- FastB2B-
01:07.0 RAID bus controller: 3ware Inc 3ware 7000-series ATA-RAID (rev 01) Subsystem: 3ware Inc 3ware 7000-series ATA-RAID 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: 32 (2250ns min), cache line size 08 Interrupt: pin A routed to IRQ 16 Region 0: I/O ports at 9000 [size=16] Region 1: Memory at e482c000 (32-bit, non-prefetchable) [size=16] Region 2: Memory at e4000000 (32-bit, non-prefetchable) [size=8M] Expansion ROM at <unassigned> [disabled] [size=64K] Capabilities: [40] Power Management version 1 Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
01:08.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10) Subsystem: Realtek Semiconductor Co., Ltd. RT8139 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: 32 (8000ns min, 16000ns max) Interrupt: pin A routed to IRQ 17 Region 0: I/O ports at 9400 [size=256] Region 1: Memory at e4820000 (32-bit, non-prefetchable) [size=256] Capabilities: [50] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1+,D2+,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
01:0a.0 CardBus bridge: ENE Technology Inc CB1420 Cardbus Controller (rev 01) Subsystem: Unknown device 414e:454c 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: 168, cache line size 10 Interrupt: pin A routed to IRQ 16 Region 0: Memory at e4821000 (32-bit, non-prefetchable) [size=4K] Bus: primary=01, secondary=02, subordinate=05, sec-latency=176 Memory window 0: e4822000-e4823000 (prefetchable) Memory window 1: e4824000-e4825000 I/O window 0: 00009800-000098ff I/O window 1: 0000a000-0000a403 BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite+ 16-bit legacy interface ports at 0001
01:0a.1 CardBus bridge: ENE Technology Inc CB1420 Cardbus Controller (rev 01) Subsystem: Unknown device 414e:454c 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: 168, cache line size 10 Interrupt: pin A routed to IRQ 16 Region 0: Memory at e4826000 (32-bit, non-prefetchable) [size=4K] Bus: primary=01, secondary=06, subordinate=09, sec-latency=176 Memory window 0: e4827000-e4828000 (prefetchable) Memory window 1: e4829000-e482a000 I/O window 0: 00009c00-00009cff I/O window 1: 0000b000-0000b403 BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite+ 16-bit legacy interface ports at 0001
01:0b.0 RAID bus controller: Promise Technology, Inc. PDC20376 (rev 02) Subsystem: Promise Technology, Inc.: Unknown device 6620 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: 96 (1000ns min, 4500ns max), cache line size 08 Interrupt: pin A routed to IRQ 18 Region 0: I/O ports at b800 [size=64] Region 1: I/O ports at bc00 [size=16] Region 2: I/O ports at c000 [size=128] Region 3: Memory at e482b000 (32-bit, non-prefetchable) [size=4K] Region 4: Memory at e4800000 (32-bit, non-prefetchable) [size=128K] Capabilities: [60] Power Management version 2 Flags: PMEClk- DSI+ D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
05:00.0 VGA compatible controller: nVidia Corporation NV28 [GeForce4 Ti 4200 AGP 8x] (rev a1) (prog-if 00 [VGA]) Subsystem: ABIT Computer Corp.: Unknown device 8f11 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: 32 (1250ns min, 250ns max) Interrupt: pin A routed to IRQ 19 Region 0: Memory at e1000000 (32-bit, non-prefetchable) [size=16M] Region 1: Memory at d8000000 (32-bit, prefetchable) [size=128M] Expansion ROM at <unassigned> [disabled] [size=128K] Capabilities: [60] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Capabilities: [44] AGP version 3.0 Status: RQ=32 Iso- ArqSz=0 Cal=3 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3+ Rate=x4,x8 Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |