Skip to contentSkip to conversation

Bug Report 2.4.20: Interrupt sharing bogus

DISCUSSION Stephan von Krawczynski 2 participants 7 messages Dec 11, 2002

lore
Share & tools
lore
#0 lore raw

Hello all,

It took me several days to find out this pretty simple sounding problem:
I have a stock 2.4.20 on a PIII-box with SIS chipset (lspci below), adaptec U160-type controller and tulip-based 4-port ethernet card.
_If_ I use an ethernet port with same irq like adaptec controller, the system goes instable and both components go crazy. Ethernet connections break down, reading and writing from/to hd gives errors. The problem is reproducable with another hardware with same components and even with a different (sundance) 4-port ethernet card. For tests I simply copy a lot of files via NFS to the local hd. It always freezes the machine, not always ad-hoc, but within short. I checked with 2.4.19 - same problem.
I can test patches on this, no production machine involved. Any hints appreciated.

lspci -vv:

00:00.0 Host bridge: Silicon Integrated Systems [SiS] 630 Host (rev 30)

	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
	Region 0: Memory at d8000000 (32-bit, non-prefetchable) [size=64M]
	Capabilities: [c0] AGP version 2.0
		Status: RQ=31 SBA+ 64bit- FW- Rate=x1,x2,x4
		Command: RQ=0 SBA- AGP- 64bit- FW- Rate=x4

00:00.1 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (rev d0) (prog-if 8a [Master SecP PriP])
Subsystem: Silicon Integrated Systems [SiS] SiS5513 EIDE Controller (A,B step)
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 0
Region 0: I/O ports at <ignored> [disabled]
Region 1: I/O ports at <ignored> [disabled]
Region 2: I/O ports at <ignored> [disabled]
Region 3: I/O ports at <ignored> [disabled]
Region 4: I/O ports at 4000 [disabled] [size=16]

00:01.0 ISA bridge: Silicon Integrated Systems [SiS] 85C503/5513
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: 0

00:01.1 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 10/100 Ethernet (rev 84)
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 (13000ns min, 2750ns max)
Interrupt: pin C routed to IRQ 14
Region 0: I/O ports at c000 [size=256]
Region 1: Memory at e1102000 (32-bit, non-prefetchable) [size=4K]
Expansion ROM at <unassigned> [disabled] [size=128K]
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=160mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable+ DSel=0 DScale=0 PME-

00:02.0 PCI bridge: Silicon Integrated Systems [SiS] 5591/5592 AGP (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=01, sec-latency=0
I/O behind bridge: 00009000-00009fff
Memory behind bridge: e1000000-e10fffff
Prefetchable memory behind bridge: d0000000-d7ffffff
BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-

00:12.0 PCI bridge: Digital Equipment Corporation DECchip 21152 (rev 03) (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, cache line size 08
Bus: primary=00, secondary=02, subordinate=02, sec-latency=32
I/O behind bridge: 0000a000-0000afff
Memory behind bridge: dd000000-deffffff
BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=220mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Bridge: PM- B3+

00:13.0 PCI bridge: Digital Equipment Corporation DECchip 21152 (rev 03) (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, cache line size 08
Bus: primary=00, secondary=03, subordinate=03, sec-latency=32
I/O behind bridge: 0000b000-0000bfff
Memory behind bridge: df000000-e0ffffff
BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=220mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Bridge: PM- B3+

01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS] SiS630 GUI Accelerator+3D (rev 21) (prog-if 00 [VGA])
Subsystem: Silicon Integrated Systems [SiS] SiS630 GUI Accelerator+3D
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- BIST result: 00
Region 0: Memory at d0000000 (32-bit, prefetchable) [size=128M]
Region 1: Memory at e1000000 (32-bit, non-prefetchable) [size=128K]
Region 2: I/O ports at 9000 [size=128]
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-
Capabilities: [50] AGP version 2.0
Status: RQ=15 SBA+ 64bit- FW- Rate=x1,x2,x4
Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>

02:04.0 SCSI storage controller: Adaptec AIC-7892A U160/m (rev 02)
Subsystem: Adaptec 29160 Ultra160 SCSI Controller
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 (10000ns min, 6250ns max), cache line size 08
Interrupt: pin A routed to IRQ 15
BIST result: 00
Region 0: I/O ports at a000 [disabled] [size=256]
Region 1: Memory at de011000 (64-bit, non-prefetchable) [size=4K]
Expansion ROM at <unassigned> [disabled] [size=128K]
Capabilities: [dc] 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-

02:06.0 Network controller: Siemens Nixdorf AG DSCC4 WAN adapter (rev 21)

	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 (750ns min, 2500ns max)
	Interrupt: pin A routed to IRQ 11
	Region 0: Memory at de010000 (32-bit, non-prefetchable) [size=2K]
	Region 1: Memory at de000000 (32-bit, non-prefetchable) [size=64K]

02:07.0 Network controller: AVM Audiovisuelles MKTG & Computer System GmbH Fritz!PCI v2.0 ISDN (rev 01)
Subsystem: AVM Audiovisuelles MKTG & Computer System GmbH Fritz!PCI v2.0 ISDN
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-
Interrupt: pin A routed to IRQ 14
Region 0: Memory at de012000 (32-bit, non-prefetchable) [size=32]
Region 1: I/O ports at a400 [size=32]
Capabilities: [40] 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-

03:04.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 41)
Subsystem: D-Link System Inc: Unknown device 1132
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 (5000ns min, 10000ns max), cache line size 08
Interrupt: pin A routed to IRQ 14
Region 0: I/O ports at b000 [size=128]
Region 1: Memory at e0000000 (32-bit, non-prefetchable) [size=1K]
Expansion ROM at <unassigned> [disabled] [size=256K]

03:05.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 41)
Subsystem: D-Link System Inc: Unknown device 1132
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 (5000ns min, 10000ns max), cache line size 08
Interrupt: pin A routed to IRQ 15
Region 0: I/O ports at b400 [size=128]
Region 1: Memory at e0001000 (32-bit, non-prefetchable) [size=1K]
Expansion ROM at <unassigned> [disabled] [size=256K]

03:06.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 41)
Subsystem: D-Link System Inc: Unknown device 1132
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 (5000ns min, 10000ns max), cache line size 08
Interrupt: pin A routed to IRQ 10
Region 0: I/O ports at b800 [size=128]
Region 1: Memory at e0002000 (32-bit, non-prefetchable) [size=1K]
Expansion ROM at <unassigned> [disabled] [size=256K]

03:07.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 41)
Subsystem: D-Link System Inc: Unknown device 1132
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 (5000ns min, 10000ns max), cache line size 08
Interrupt: pin A routed to IRQ 11
Region 0: I/O ports at bc00 [size=128]
Region 1: Memory at e0003000 (32-bit, non-prefetchable) [size=1K]
Expansion ROM at <unassigned> [disabled] [size=256K]

Signature · 2 lines
Regards,
Stephan
#1 lore raw
Quoted 4 lines · Stephan von Krawczynski

4-port ethernet card. For tests I simply copy a lot of files via NFS to the local hd. It always freezes the machine, not always ad-hoc, but within short. I checked with 2.4.19 - same problem.
I can test patches on this, no production machine involved. Any hints appreciated.

Not all systems get on with the 4 ports and bridge stuff. Also make sure you have APIC disabled as the SiS io apic has some fun features 2.4 doesnt yet have workarounds for

#2 lore raw
Quoted 9 lines · On 11 Dec 2002 19:45:55 +0000 Alan Cox <[email protected]> wrote:
Quoted 4 lines · Stephan von Krawczynski

4-port ethernet card. For tests I simply copy a lot of files via NFS to the local hd. It always freezes the machine, not always ad-hoc, but within short. I checked with 2.4.19 - same problem.
I can test patches on this, no production machine involved. Any hints appreciated.

Not all systems get on with the 4 ports and bridge stuff. Also make sure you have APIC disabled as the SiS io apic has some fun features 2.4 doesnt yet have workarounds for

Is this sufficient? This is from my tried (bogus) setup:

CONFIG_X86_GOOD_APIC=y
# CONFIG_X86_UP_APIC is not set
# CONFIG_X86_UP_IOAPIC is not set

Signature · 2 lines
Regards,
Stephan
#3 lore raw
Quoted 5 lines · Stephan von Krawczynski

Is this sufficient? This is from my tried (bogus) setup:

CONFIG_X86_GOOD_APIC=y
# CONFIG_X86_UP_APIC is not set
# CONFIG_X86_UP_IOAPIC is not set

It is

#4 lore raw
Quoted 9 lines · On 11 Dec 2002 20:53:13 +0000 Alan Cox <[email protected]> wrote:
Quoted 5 lines · Stephan von Krawczynski

Is this sufficient? This is from my tried (bogus) setup:

CONFIG_X86_GOOD_APIC=y
# CONFIG_X86_UP_APIC is not set
# CONFIG_X86_UP_IOAPIC is not set

It is

Why does it freeze then with this config? I doubt it has ultimately to do with the 4-port card being of "4-port nature". I can use every of its ports that does not share interrupt with another device. As soon as I share I get busted. As I told the driver used for ethernet doesn't seem to matter as tulip and sundance show the same effect.
I am very interested in solving this somehow having five pieces of these boards...
What can I do? Is there any documentation needed from SIS, or anything else?

Signature · 2 lines
Regards,
Stephan
#5 lore raw
Quoted 2 lines · Stephan von Krawczynski

Why does it freeze then with this config? I doubt it has ultimately to do with the 4-port card being of "4-port nature". I can use every of its ports that

four port cards tend to test two things. PCI bridging and also IRQ routing since they tend to use INTA-D not just INTA as is normal.

Quoted 5 lines

does not share interrupt with another device. As soon as I share I get busted. As I told the driver used for ethernet doesn't seem to matter as tulip and sundance show the same effect.
I am very interested in solving this somehow having five pieces of these boards...

I would be very interested if (and I've seen this before with other vendors boards) plugging the quad card into a good old intel 440BX or something like that makes them work.

#6 lore raw
Quoted 9 lines · On 11 Dec 2002 21:23:54 +0000 Alan Cox <[email protected]> wrote:
Quoted 5 lines

does not share interrupt with another device. As soon as I share I get busted. As I told the driver used for ethernet doesn't seem to matter as tulip and sundance show the same effect.
I am very interested in solving this somehow having five pieces of these boards...

I would be very interested if (and I've seen this before with other vendors boards) plugging the quad card into a good old intel 440BX or something like that makes them work.

Hm, I have about 2 dozens of these 4-port cards and had _never_ any troubles in various backplanes, via, intel, sis...
To me it seems it has something to do with this relatively new chipset...

Signature · 2 lines
Regards,
Stephan