2007-05-01 14:24:37

by Wolfgang Erig

[permalink] [raw]
Subject: regression on quad Xeon: no SCSI-disks

Sorry
for detecting this 2 year old regression so late.

2.6.13 or later is bad.
2.6.12 is good,

"git bisect" worked fine and points to the attached patch.
The patch is pretty small. The problem seemed to be dependant
on the PCI-architecture of these particular systems.
Tried this on two machines with the same behaviour.

Wolfgang


$ git bisect bad
299de0343c7d18448a69c635378342e9214b14af is first bad commit
commit 299de0343c7d18448a69c635378342e9214b14af
Author: Ivan Kokshaysky <[email protected]>
Date: Wed Jun 15 18:59:27 2005 +0400

[PATCH] PCI: pci_assign_unassigned_resources() on x86

- Add sanity check for io[port,mem]_resource in setup-bus.c. These
resources look like "free" as they have no parents, but obviously
we must not touch them.
- In i386.c:pci_allocate_bus_resources(), if a bridge resource cannot be
allocated for some reason, then clear its flags. This prevents any child
allocations in this range, so the setup-bus code will work with a clean
resource sub-tree.
- i386.c:pcibios_enable_resources() doesn't enable bridges, as it checks
only resources 0-5, which looks like a clear bug to me. I suspect it
might break hotplug as well in some cases.

From: Ivan Kokshaysky <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

:040000 040000 ecab084beb95987f3e4ead8b61ce19cc052a5fa3 4c1364a6fd511b6dc6ddec06d787bcf105687835 M arch
:040000 040000 0956f28cde32bd7494d7a87e2814bcd726547a32 0d2e2b611b007085e5a0994a66fd9c0a873ac8f8 M drivers

====== on console =======
sym0: <875> rev 0x26 at pci 0000:01:02.0 irq 30
sym0: Symbios NVRAM, ID 7, Fast-20, SE, parity checking
sym0: open drain IRQ line driver, using on-chip SRAM
sym0: using LOAD/STORE-based firmware.
sym0: SCSI BUS has been reset.
scsi0 : sym-2.2.0
scsi 0:0:0:0 ABORT operation started.
scsi 0:0:0:0 ABORT operation timed-out.
scsi 0:0:0:0 DEVICE RESET operation started.
scsi 0:0:0:0 DEVICE RESET operation timed-out.
scsi 0:0:0:0 BUS RESET operation started.
scsi 0:0:0:0 BUS RESET operation timed-out.
....
no disk, no fun

$ lspci
00:02.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 02)
00:02.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:02.2 USB Controller: Intel Corporation 82371AB/EB/MB PIIX4 USB (rev 01)
00:02.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02)
00:03.0 VGA compatible controller: Cirrus Logic GD 5446 (rev 45)
00:04.0 System peripheral: Siemens Nixdorf AG FSC Multiprocessor Interrupt Controller (rev 02)
00:05.0 PCI bridge: Intel Corporation 80960RP [i960 RP Microprocessor/Bridge] (rev 03)
00:05.1 I2O: Intel Corporation 80960RP [i960RP Microprocessor] (rev 03)
00:10.0 Host bridge: Intel Corporation 450NX - 82451NX Memory & I/O Controller (rev 03)
00:12.0 Host bridge: Intel Corporation 450NX - 82454NX/84460GX PCI Expander Bridge (rev 02)
00:13.0 Host bridge: Intel Corporation 450NX - 82454NX/84460GX PCI Expander Bridge (rev 02)
00:14.0 Host bridge: Intel Corporation 450NX - 82454NX/84460GX PCI Expander Bridge (rev 02)
01:01.0 Ethernet controller: Intel Corporation 82557/8/9 [Ethernet Pro 100] (rev 05)
01:02.0 SCSI storage controller: LSI Logic / Symbios Logic 53c875 (rev 26)
01:03.0 SCSI storage controller: LSI Logic / Symbios Logic 53c875 (rev 26)
03:0e.0 SCSI storage controller: QLogic Corp. QLA2100 64-bit Fibre Channel Adapter (rev 03)

$ lshw
description: System
product: PRIMERGY 870-40
vendor: FUJITSU SIEMENS
version: Rev.1
serial: None
width: 32 bits
capabilities: smbios-2.1 dmi-2.1
configuration: chassis=server
*-core
description: Motherboard
product: D1998
vendor: FUJITSU SIEMENS
physical id: 0
version: Rev.1
serial: None
slot: Xeon
*-firmware
description: BIOS
vendor: Phoenix Technologies LTD
physical id: 0
version: 4.06 Rev. 3.11.1998 (12/16/99)
size: 98KB
capacity: 448KB
capabilities: isa pci pnp apm upgrade shadowing escd cdboot bootselect socketedrom edd int13floppy360 int13floppy1200 int13floppy720 int13floppy2880 int14serial int17printer int10video usb
*-cpu:0
description: CPU
product: Pentium III (Katmai)
vendor: Intel Corp.
physical id: 1
bus info: cpu@0
version: 6.7.3
slot: Socket 0
size: 550MHz
width: 32 bits
clock: 100MHz
capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse
*-cache:0
description: L1 cache
physical id: 4d
slot: L1 Cache
size: 32KB
capabilities: synchronous internal write-back instruction
*-cache:1
description: L2 cache
physical id: 4f
slot: L2 Cache
size: 512KB
capacity: 2MB
capabilities: internal write-back unified
*-cache:2
description: L3 cache
physical id: 50
slot: L3 Cache
size: 32MB
capacity: 64MB
clock: 100MHz (10.0ns)
capabilities: pipeline-burst external write-back unified
*-cpu:1
description: CPU
product: Pentium III (Katmai)
vendor: Intel Corp.
physical id: 4
bus info: cpu@1
version: 6.7.3
slot: Socket 1
size: 550MHz
width: 32 bits
clock: 100MHz
capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse
*-cache:0
description: L1 cache
physical id: 4e
slot: L1 Cache
size: 32KB
capabilities: synchronous internal write-back data
*-cache:1
description: L2 cache
physical id: 0
size: 512KB
*-cpu:2
description: CPU
product: Pentium III (Katmai)
vendor: Intel Corp.
physical id: 6
bus info: cpu@2
version: 6.7.3
slot: Socket 2
size: 550MHz
width: 32 bits
clock: 100MHz
capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse
*-cache:0
description: L1 cache
physical id: 0
size: 32KB
*-cache:1
description: L2 cache
physical id: 1
size: 512KB
*-cpu:3
description: CPU
product: Pentium III (Katmai)
vendor: Intel Corp.
physical id: 7
bus info: cpu@3
version: 6.7.3
slot: Socket 3
size: 550MHz
width: 32 bits
clock: 100MHz
capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse
*-cache:0
description: L1 cache
physical id: 0
size: 32KB
*-cache:1
description: L2 cache
physical id: 1
size: 512KB
*-cpu:4
description: CPU
vendor: Intel
physical id: 8
bus info: cpu@4
version: 6.7.3
slot: Socket 4
size: 550MHz
clock: 100MHz
*-cache:0
description: L1 cache
physical id: 0
size: 32KB
*-cache:1
description: L2 cache
physical id: 1
size: 512KB
*-cpu:5
description: CPU
vendor: Intel
physical id: 9
bus info: cpu@5
version: 6.7.3
slot: Socket 5
size: 550MHz
clock: 100MHz
*-cache:0
description: L1 cache
physical id: 0
size: 32KB
*-cache:1
description: L2 cache
physical id: 1
size: 512KB
*-cpu:6
description: CPU
vendor: Intel
physical id: a
bus info: cpu@6
version: 6.7.3
slot: Socket 6
size: 550MHz
clock: 100MHz
*-cache:0
description: L1 cache
physical id: 0
size: 32KB
*-cache:1
description: L2 cache
physical id: 1
size: 512KB
*-cpu:7
description: CPU
vendor: Intel
physical id: b
bus info: cpu@7
version: 6.7.3
slot: Socket 7
size: 550MHz
clock: 100MHz
*-cache:0
description: L1 cache
physical id: 0
size: 32KB
*-cache:1
description: L2 cache
physical id: 1
size: 512KB
*-memory
description: System Memory
physical id: 78
slot: System board or motherboard
size: 2560MB
*-bank:0
description: DIMM DRAM EDO
physical id: 0
slot: 0
size: 256MB
width: 64 bits
*-bank:1
description: DIMM DRAM EDO
physical id: 1
slot: 1
size: 256MB
width: 64 bits
*-bank:2
description: DIMM DRAM EDO
physical id: 2
slot: 2
size: 256MB
width: 64 bits
*-bank:3
description: DIMM DRAM EDO
physical id: 3
slot: 3
size: 256MB
width: 64 bits
*-bank:4
description: DIMM DRAM EDO
physical id: 4
slot: 4
size: 256MB
width: 64 bits
*-bank:5
description: DIMM DRAM EDO
physical id: 5
slot: 5
size: 256MB
width: 64 bits
*-bank:6
description: DIMM DRAM EDO
physical id: 6
slot: 6
size: 256MB
width: 64 bits
*-bank:7
description: DIMM DRAM EDO
physical id: 7
slot: 7
size: 256MB
width: 64 bits
*-bank:8
description: DIMM DRAM EDO
physical id: 8
slot: 8
size: 128MB
width: 64 bits
*-bank:9
description: DIMM DRAM EDO
physical id: 9
slot: 9
size: 128MB
width: 64 bits
*-bank:10
description: DIMM DRAM EDO
physical id: a
slot: 10
size: 128MB
width: 64 bits
*-bank:11
description: DIMM DRAM EDO
physical id: b
slot: 11
size: 128MB
width: 64 bits
*-bank:12
description: DIMM DRAM EDO [empty]
physical id: c
slot: 12
*-bank:13
description: DIMM DRAM EDO [empty]
physical id: d
slot: 13
*-bank:14
description: DIMM DRAM EDO [empty]
physical id: e
slot: 14
*-bank:15
description: DIMM DRAM EDO [empty]
physical id: f
slot: 15
*-bank:16
description: DIMM DRAM EDO [empty]
physical id: 10
slot: 16
*-bank:17
description: DIMM DRAM EDO [empty]
physical id: 11
slot: 17
*-bank:18
description: DIMM DRAM EDO [empty]
physical id: 12
slot: 18
*-bank:19
description: DIMM DRAM EDO [empty]
physical id: 13
slot: 19
*-bank:20
description: DIMM DRAM EDO [empty]
physical id: 14
slot: 20
*-bank:21
description: DIMM DRAM EDO [empty]
physical id: 15
slot: 21
*-bank:22
description: DIMM DRAM EDO [empty]
physical id: 16
slot: 22
*-bank:23
description: DIMM DRAM EDO [empty]
physical id: 17
slot: 23
*-bank:24
description: DIMM DRAM EDO [empty]
physical id: 18
slot: 24
*-bank:25
description: DIMM DRAM EDO [empty]
physical id: 19
slot: 25
*-bank:26
description: DIMM DRAM EDO [empty]
physical id: 1a
slot: 26
*-bank:27
description: DIMM DRAM EDO [empty]
physical id: 1b
slot: 27
*-bank:28
description: DIMM DRAM EDO [empty]
physical id: 1c
slot: 28
*-bank:29
description: DIMM DRAM EDO [empty]
physical id: 1d
slot: 29
*-bank:30
description: DIMM DRAM EDO [empty]
physical id: 1e
slot: 30
*-bank:31
description: DIMM DRAM EDO [empty]
physical id: 1f
slot: 31
*-bank:32
description: DIMM DRAM EDO [empty]
physical id: 20
slot: 32
*-bank:33
description: DIMM DRAM EDO [empty]
physical id: 21
slot: 33
*-bank:34
description: DIMM DRAM EDO [empty]
physical id: 22
slot: 34
*-bank:35
description: DIMM DRAM EDO [empty]
physical id: 23
slot: 35
*-bank:36
description: DIMM DRAM EDO [empty]
physical id: 24
slot: 36
*-bank:37
description: DIMM DRAM EDO [empty]
physical id: 25
slot: 37
*-bank:38
description: DIMM DRAM EDO [empty]
physical id: 26
slot: 38
*-bank:39
description: DIMM DRAM EDO [empty]
physical id: 27
slot: 39
*-bank:40
description: DIMM DRAM EDO [empty]
physical id: 28
slot: 40
*-bank:41
description: DIMM DRAM EDO [empty]
physical id: 29
slot: 41
*-bank:42
description: DIMM DRAM EDO [empty]
physical id: 2a
slot: 42
*-bank:43
description: DIMM DRAM EDO [empty]
physical id: 2b
slot: 43
*-bank:44
description: DIMM DRAM EDO [empty]
physical id: 2c
slot: 44
*-bank:45
description: DIMM DRAM EDO [empty]
physical id: 2d
slot: 45
*-bank:46
description: DIMM DRAM EDO [empty]
physical id: 2e
slot: 46
*-bank:47
description: DIMM DRAM EDO [empty]
physical id: 2f
slot: 47
*-bank:48
description: DIMM DRAM EDO [empty]
physical id: 30
slot: 48
*-bank:49
description: DIMM DRAM EDO [empty]
physical id: 31
slot: 49
*-bank:50
description: DIMM DRAM EDO [empty]
physical id: 32
slot: 50
*-bank:51
description: DIMM DRAM EDO [empty]
physical id: 33
slot: 51
*-bank:52
description: DIMM DRAM EDO [empty]
physical id: 34
slot: 52
*-bank:53
description: DIMM DRAM EDO [empty]
physical id: 35
slot: 53
*-bank:54
description: DIMM DRAM EDO [empty]
physical id: 36
slot: 54
*-bank:55
description: DIMM DRAM EDO [empty]
physical id: 37
slot: 55
*-bank:56
description: DIMM DRAM EDO [empty]
physical id: 38
slot: 56
*-bank:57
description: DIMM DRAM EDO [empty]
physical id: 39
slot: 57
*-bank:58
description: DIMM DRAM EDO [empty]
physical id: 3a
slot: 58
*-bank:59
description: DIMM DRAM EDO [empty]
physical id: 3b
slot: 59
*-bank:60
description: DIMM DRAM [empty]
physical id: 3c
slot: X0
*-bank:61
description: DIMM DRAM [empty]
physical id: 3d
slot: 61
*-bank:62
description: DIMM DRAM [empty]
physical id: 3e
slot: 62
*-bank:63
description: DIMM DRAM [empty]
physical id: 3f
slot: 63
*-isa
description: ISA bridge
product: 82371AB/EB/MB PIIX4 ISA
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 02
width: 32 bits
clock: 33MHz
capabilities: isa bus_master
configuration: latency=0
*-ide UNCLAIMED
description: IDE interface
product: 82371AB/EB/MB PIIX4 IDE
vendor: Intel Corporation
physical id: 2.1
bus info: pci@0000:00:02.1
version: 01
width: 32 bits
clock: 33MHz
capabilities: ide bus_master
configuration: latency=64
*-usb UNCLAIMED
description: USB Controller
product: 82371AB/EB/MB PIIX4 USB
vendor: Intel Corporation
physical id: 2.2
bus info: pci@0000:00:02.2
version: 01
width: 32 bits
clock: 33MHz
capabilities: uhci bus_master
configuration: latency=64
*-bridge UNCLAIMED
description: Bridge
product: 82371AB/EB/MB PIIX4 ACPI
vendor: Intel Corporation
physical id: 2.3
bus info: pci@0000:00:02.3
version: 02
width: 32 bits
clock: 33MHz
capabilities: bridge
configuration: latency=0
*-display
description: VGA compatible controller
product: GD 5446
vendor: Cirrus Logic
physical id: 3
bus info: pci@0000:00:03.0
version: 45
width: 32 bits
clock: 33MHz
capabilities: vga
configuration: latency=0
*-system UNCLAIMED
description: System peripheral
product: FSC Multiprocessor Interrupt Controller
vendor: Siemens Nixdorf AG
physical id: 5
bus info: pci@0000:00:04.0
version: 02
width: 32 bits
clock: 33MHz
configuration: latency=0
*-pci:0
description: PCI bridge
product: 80960RP [i960 RP Microprocessor/Bridge]
vendor: Intel Corporation
physical id: 100
bus info: pci@0000:00:05.0
version: 03
width: 32 bits
clock: 33MHz
capabilities: pci normal_decode bus_master
*-network
description: Ethernet interface
product: 82557/8/9 [Ethernet Pro 100]
vendor: Intel Corporation
physical id: 1
bus info: pci@0000:01:01.0
logical name: eth0
version: 05
serial: 08:00:06:0d:90:33
size: 100MB/s
capacity: 100MB/s
width: 32 bits
clock: 33MHz
capabilities: pm bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=eepro100 driverversion=eepro100.c:v1.09j-t 9/29/99 Don duplex=full ip=172.25.231.86 latency=64 link=yes maxlatency=56 mingnt=8 multicast=yes port=MII speed=100MB/s
*-scsi:0
description: SCSI storage controller
product: 53c875
vendor: LSI Logic / Symbios Logic
physical id: 2
bus info: pci@0000:01:02.0
logical name: scsi0
version: 26
width: 32 bits
clock: 33MHz
capabilities: scsi pm bus_master cap_list scsi-host
configuration: driver=sym53c8xx latency=72 maxlatency=64 mingnt=17
*-disk:0
description: SCSI Disk
product: ST39102LC
vendor: SEAGATE
physical id: 0.0.0
bus info: scsi@0:0.0.0
logical name: /dev/sda
version: 7503
serial: LV263085000010162PGM
size: 8683MB
capacity: 8729MB
capabilities: 10000rpm partitioned partitioned:dos
configuration: ansiversion=2
*-volume:0
description: Linux swap / Solaris partition
physical id: 1
bus info: scsi@0:0.0.0,1
logical name: /dev/sda1
capacity: 4GB
capabilities: primary nofs
*-volume:1
description: Linux filesystem partition
physical id: 2
bus info: scsi@0:0.0.0,2
logical name: /dev/sda2
capacity: 4586MB
capabilities: primary
*-disk:1
description: SCSI Disk
product: MAN3367MC
vendor: FUJITSU
physical id: 0.1.0
bus info: scsi@0:0.1.0
logical name: /dev/sdb
version: 5207
serial: UFD7P23005G9
size: 34GB
capacity: 42GB
capabilities: 10000rpm
configuration: ansiversion=3
*-disk:2
description: SCSI Disk
product: MAN3367MC
vendor: FUJITSU
physical id: 0.2.0
bus info: scsi@0:0.2.0
logical name: /dev/sdc
version: 5207
serial: UFD7P23005HG
size: 34GB
capacity: 42GB
capabilities: 10000rpm
configuration: ansiversion=3
*-disk:3
description: SCSI Disk
product: MAG3182LC
vendor: FUJITSU
physical id: 0.3.0
bus info: scsi@0:0.3.0
logical name: /dev/sdd
version: 3709
serial: 00006678
size: 17GB
capacity: 19GB
capabilities: 10000rpm
configuration: ansiversion=2
*-processor UNCLAIMED
description: SCSI Processor
product: STM/L S1
vendor: SAG
physical id: 0.8.0
bus info: scsi@0:0.8.0
version: 4.1b
serial: 1
configuration: ansiversion=2
*-scsi:1
description: SCSI storage controller
product: 53c875
vendor: LSI Logic / Symbios Logic
physical id: 3
bus info: pci@0000:01:03.0
logical name: scsi1
version: 26
width: 32 bits
clock: 33MHz
capabilities: scsi pm bus_master cap_list scsi-host
configuration: driver=sym53c8xx latency=72 maxlatency=64 mingnt=17
*-tape
description: SCSI Tape
product: C1537A
vendor: HP
physical id: 0.3.0
bus info: scsi@1:0.3.0
logical name: /dev/nst0
logical name: /dev/st0
version: L708
capabilities: removable
configuration: ansiversion=2
*-cdrom
description: SCSI CD-ROM
product: CD-ROM XM-6201TA
vendor: TOSHIBA
physical id: 0.5.0
bus info: scsi@1:0.5.0
logical name: /dev/cdrom
logical name: /dev/scd0
logical name: /dev/sr0
version: 1042
capabilities: removable audio
configuration: ansiversion=2 status=open
*-generic UNCLAIMED
description: I2O
product: 80960RP [i960RP Microprocessor]
vendor: Intel Corporation
physical id: 5.1
bus info: pci@0000:00:05.1
version: 03
width: 32 bits
clock: 33MHz
capabilities: bus_master
configuration: latency=64
*-pci:1
description: Host bridge
product: 450NX - 82451NX Memory & I/O Controller
vendor: Intel Corporation
physical id: 101
bus info: pci@0000:00:10.0
version: 03
width: 32 bits
clock: 33MHz
*-pci:2
description: Host bridge
product: 450NX - 82454NX/84460GX PCI Expander Bridge
vendor: Intel Corporation
physical id: 102
bus info: pci@0000:00:12.0
version: 02
width: 32 bits
clock: 33MHz
configuration: latency=72
*-pci:3
description: Host bridge
product: 450NX - 82454NX/84460GX PCI Expander Bridge
vendor: Intel Corporation
physical id: 103
bus info: pci@0000:00:13.0
version: 02
width: 32 bits
clock: 33MHz
configuration: latency=72
*-pci:4
description: Host bridge
product: 450NX - 82454NX/84460GX PCI Expander Bridge
vendor: Intel Corporation
physical id: 104
bus info: pci@0000:00:14.0
version: 02
width: 32 bits
clock: 33MHz
configuration: latency=72
*-scsi UNCLAIMED
description: SCSI storage controller
product: QLA2100 64-bit Fibre Channel Adapter
vendor: QLogic Corp.
physical id: e
bus info: pci@0000:03:0e.0
version: 03
width: 32 bits
clock: 33MHz
capabilities: scsi bus_master
configuration: latency=64
*-battery
description: Unknown Battery
physical id: 1
slot: Right Side


2007-05-01 16:02:46

by Chuck Ebbert

[permalink] [raw]
Subject: Re: regression on quad Xeon: no SCSI-disks

Wolfgang Erig wrote:
> Sorry
> for detecting this 2 year old regression so late.
>
> 2.6.13 or later is bad.
> 2.6.12 is good,
>
> "git bisect" worked fine and points to the attached patch.
> The patch is pretty small. The problem seemed to be dependant
> on the PCI-architecture of these particular systems.
> Tried this on two machines with the same behaviour.
>
> Wolfgang
>
>
> $ git bisect bad
> 299de0343c7d18448a69c635378342e9214b14af is first bad commit
> commit 299de0343c7d18448a69c635378342e9214b14af
> Author: Ivan Kokshaysky <[email protected]>
> Date: Wed Jun 15 18:59:27 2005 +0400
>
> [PATCH] PCI: pci_assign_unassigned_resources() on x86
>
> - Add sanity check for io[port,mem]_resource in setup-bus.c. These
> resources look like "free" as they have no parents, but obviously
> we must not touch them.
> - In i386.c:pci_allocate_bus_resources(), if a bridge resource cannot be
> allocated for some reason, then clear its flags. This prevents any child
> allocations in this range, so the setup-bus code will work with a clean
> resource sub-tree.
> - i386.c:pcibios_enable_resources() doesn't enable bridges, as it checks
> only resources 0-5, which looks like a clear bug to me. I suspect it
> might break hotplug as well in some cases.
>
> From: Ivan Kokshaysky <[email protected]>
> Signed-off-by: Greg Kroah-Hartman <[email protected]>
>
> :040000 040000 ecab084beb95987f3e4ead8b61ce19cc052a5fa3 4c1364a6fd511b6dc6ddec06d787bcf105687835 M arch
> :040000 040000 0956f28cde32bd7494d7a87e2814bcd726547a32 0d2e2b611b007085e5a0994a66fd9c0a873ac8f8 M drivers
>
> ====== on console =======
> sym0: <875> rev 0x26 at pci 0000:01:02.0 irq 30
> sym0: Symbios NVRAM, ID 7, Fast-20, SE, parity checking
> sym0: open drain IRQ line driver, using on-chip SRAM
> sym0: using LOAD/STORE-based firmware.
> sym0: SCSI BUS has been reset.
> scsi0 : sym-2.2.0
> scsi 0:0:0:0 ABORT operation started.
> scsi 0:0:0:0 ABORT operation timed-out.
> scsi 0:0:0:0 DEVICE RESET operation started.
> scsi 0:0:0:0 DEVICE RESET operation timed-out.
> scsi 0:0:0:0 BUS RESET operation started.
> scsi 0:0:0:0 BUS RESET operation timed-out.
> ....

Output from kernel with CONFIG_PCI_DEBUG could be useful.

2007-05-02 14:47:24

by Wolfgang Erig

[permalink] [raw]
Subject: Re: regression on quad Xeon: no SCSI-disks

On Tue, May 01, 2007 at 12:01:56PM -0400, Chuck Ebbert wrote:
> Wolfgang Erig wrote:
> > Sorry
> > for detecting this 2 year old regression so late.
> >
> > 2.6.13 or later is bad.
> > 2.6.12 is good,
> >
> > "git bisect" worked fine and points to the attached patch.
> > The patch is pretty small. The problem seemed to be dependant
> > on the PCI-architecture of these particular systems.
> > Tried this on two machines with the same behaviour.
> >
> > Wolfgang
> >
> >
> > $ git bisect bad
> > 299de0343c7d18448a69c635378342e9214b14af is first bad commit
> > commit 299de0343c7d18448a69c635378342e9214b14af
> > Author: Ivan Kokshaysky <[email protected]>
> > Date: Wed Jun 15 18:59:27 2005 +0400
> >
> > [PATCH] PCI: pci_assign_unassigned_resources() on x86
> >
> > - Add sanity check for io[port,mem]_resource in setup-bus.c. These
> > resources look like "free" as they have no parents, but obviously
> > we must not touch them.
> > - In i386.c:pci_allocate_bus_resources(), if a bridge resource cannot be
> > allocated for some reason, then clear its flags. This prevents any child
> > allocations in this range, so the setup-bus code will work with a clean
> > resource sub-tree.
> > - i386.c:pcibios_enable_resources() doesn't enable bridges, as it checks
> > only resources 0-5, which looks like a clear bug to me. I suspect it
> > might break hotplug as well in some cases.
> >
> > From: Ivan Kokshaysky <[email protected]>
> > Signed-off-by: Greg Kroah-Hartman <[email protected]>
> >
> > :040000 040000 ecab084beb95987f3e4ead8b61ce19cc052a5fa3 4c1364a6fd511b6dc6ddec06d787bcf105687835 M arch
> > :040000 040000 0956f28cde32bd7494d7a87e2814bcd726547a32 0d2e2b611b007085e5a0994a66fd9c0a873ac8f8 M drivers
> >
> > ====== on console =======
> > sym0: <875> rev 0x26 at pci 0000:01:02.0 irq 30
> > sym0: Symbios NVRAM, ID 7, Fast-20, SE, parity checking
> > sym0: open drain IRQ line driver, using on-chip SRAM
> > sym0: using LOAD/STORE-based firmware.
> > sym0: SCSI BUS has been reset.
> > scsi0 : sym-2.2.0
> > scsi 0:0:0:0 ABORT operation started.
> > scsi 0:0:0:0 ABORT operation timed-out.
> > scsi 0:0:0:0 DEVICE RESET operation started.
> > scsi 0:0:0:0 DEVICE RESET operation timed-out.
> > scsi 0:0:0:0 BUS RESET operation started.
> > scsi 0:0:0:0 BUS RESET operation timed-out.
> > ....
>
> Output from kernel with CONFIG_PCI_DEBUG could be useful.
>
Linux version 2.6.21-gde46c337 (erig@pippin) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #3 SMP Wed May 2 08:39:55 CEST 2007
BIOS-provided physical RAM map:
sanitize start
sanitize end
copy_e820_map() start: 0000000000000000 size: 000000000009d400 end: 000000000009d400 type: 1
copy_e820_map() type is E820_RAM
copy_e820_map() start: 000000000009d400 size: 0000000000002c00 end: 00000000000a0000 type: 2
copy_e820_map() start: 00000000000e7400 size: 0000000000018c00 end: 0000000000100000 type: 2
copy_e820_map() start: 0000000000100000 size: 000000009ff00000 end: 00000000a0000000 type: 1
copy_e820_map() type is E820_RAM
copy_e820_map() start: 00000000fec00000 size: 0000000000100000 end: 00000000fed00000 type: 2
copy_e820_map() start: 00000000fee00000 size: 0000000000100000 end: 00000000fef00000 type: 2
copy_e820_map() start: 00000000ffe00000 size: 0000000000200000 end: 0000000100000000 type: 2
BIOS-e820: 0000000000000000 - 000000000009d400 (usable)
BIOS-e820: 000000000009d400 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e7400 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 00000000a0000000 (usable)
BIOS-e820: 00000000fec00000 - 00000000fed00000 (reserved)
BIOS-e820: 00000000fee00000 - 00000000fef00000 (reserved)
BIOS-e820: 00000000ffe00000 - 0000000100000000 (reserved)
1664MB HIGHMEM available.
896MB LOWMEM available.
found SMP MP-table at 000f6910
Zone PFN ranges:
DMA 0 -> 4096
Normal 4096 -> 229376
HighMem 229376 -> 655360
early_node_map[1] active PFN ranges
0: 0 -> 655360
DMI 2.1 present.
Intel MultiProcessor Specification v1.4
Virtual Wire compatibility mode.
OEM ID: SIEMENS Product ID: PRIMERGY 870 APIC at: 0xFEE00000
Processor #3 6:7 APIC version 17
Processor #0 6:7 APIC version 17
Processor #1 6:7 APIC version 17
Processor #2 6:7 APIC version 17
I/O APIC #4 Version 17 at 0xFEC00000.
Enabling APIC mode: Flat. Using 1 I/O APICs
Processors: 4
Allocating PCI resources starting at a8000000 (gap: a0000000:5ec00000)
Built 1 zonelists. Total pages: 650240
Kernel command line: BOOT_IMAGE=2.6-git ro root=802 console=tty0 console=ttyS0,38400
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
PID hash table entries: 4096 (order: 12, 16384 bytes)
Detected 550.016 MHz processor.
Console: colour VGA+ 80x25
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 2596736k/2621440k available (1206k kernel code, 23576k reserved, 574k data, 152k init, 1703936k highmem)
virtual kernel memory layout:
fixmap : 0xffe1c000 - 0xfffff000 (1932 kB)
pkmap : 0xff800000 - 0xffc00000 (4096 kB)
vmalloc : 0xf8800000 - 0xff7fe000 ( 111 MB)
lowmem : 0xc0000000 - 0xf8000000 ( 896 MB)
.init : 0xc02c3000 - 0xc02e9000 ( 152 kB)
.data : 0xc022db9b - 0xc02bd654 ( 574 kB)
.text : 0xc0100000 - 0xc022db9b (1206 kB)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay using timer specific routine.. 1100.86 BogoMIPS (lpj=5504322)
Mount-cache hash table entries: 512
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 512K
CPU serial number disabled.
Checking 'hlt' instruction... OK.
Freeing SMP alternatives: 9k freed
CPU0: Intel Pentium III (Katmai) stepping 03
Booting processor 1/0 eip 2000
Initializing CPU#1
Calibrating delay using timer specific routine.. 1100.09 BogoMIPS (lpj=5500450)
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 512K
CPU serial number disabled.
CPU1: Intel Pentium III (Katmai) stepping 03
Booting processor 2/1 eip 2000
Initializing CPU#2
Calibrating delay using timer specific routine.. 1100.04 BogoMIPS (lpj=5500246)
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 512K
CPU serial number disabled.
CPU2: Intel Pentium III (Katmai) stepping 03
Booting processor 3/2 eip 2000
Initializing CPU#3
Calibrating delay using timer specific routine.. 1100.03 BogoMIPS (lpj=5500169)
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 512K
CPU serial number disabled.
CPU3: Intel Pentium III (Katmai) stepping 03
Total of 4 processors activated (4401.03 BogoMIPS).
ExtINT not setup in hardware but reported by MP table
ENABLING IO-APIC IRQs
..TIMER: vector=0x31 apic1=0 pin1=2 apic2=0 pin2=0
checking TSC synchronization [CPU#0 -> CPU#1]: passed.
checking TSC synchronization [CPU#0 -> CPU#2]: passed.
checking TSC synchronization [CPU#0 -> CPU#3]: passed.
Brought up 4 CPUs
migration_cost=1658
NET: Registered protocol family 16
PCI: PCI BIOS revision 2.10 entry at 0xfdad3, last bus=3
PCI: Using configuration type 1
Setting up standard PCI resources
SCSI subsystem initialized
PCI: Probing PCI hardware
PCI quirk: region 1000-103f claimed by PIIX4 ACPI
PCI quirk: region 1040-104f claimed by PIIX4 SMB
PIIX4 devres C PIO at 0c8c-0c8f
PCI: Searching for i450NX host bridges on 0000:00:10.0
PCI: Firmware left 0000:01:01.0 e100 interrupts enabled, disabling
PCI->APIC IRQ transform: 0000:03:0e.0[A] -> IRQ 26
PCI->APIC IRQ transform: 0000:00:02.2[D] -> IRQ 19
PCI->APIC IRQ transform: 0000:00:05.1[A] -> IRQ 28
PCI->APIC IRQ transform: 0000:01:01.0[A] -> IRQ 29
PCI->APIC IRQ transform: 0000:01:02.0[A] -> IRQ 30
PCI->APIC IRQ transform: 0000:01:03.0[A] -> IRQ 31
PCI: Cannot allocate resource region 0 of device 0000:00:04.0
PCI: Error while updating region 0000:00:04.0/0 (a8008000 != fec08000)
Time: tsc clocksource has been installed.
PCI: Bridge: 0000:00:05.0
IO window: 3000-3fff
MEM window: fa100000-fa2fffff
PREFETCH window: fa600000-fa6fffff
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1572864 bytes)
TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
highmem bounce pool size: 64 pages
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
Real Time Clock Driver v1.12ac
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
serial8250: ttyS2 at I/O 0x3e8 (irq = 4) is a 16550A
serial8250: ttyS3 at I/O 0x2e8 (irq = 3) is a 16550A
parport0: PC-style at 0x378 (0x778) [PCSPP(,...)]
parport0: irq 7 detected
eepro100.c:v1.09j-t 9/29/99 Donald Becker http://www.scyld.com/network/eepro100.html
eepro100.c: $Revision: 1.36 $ 2000/11/17 Modified by Andrey V. Savochkin <[email protected]> and others
eth0: OEM i82557/i82558 10/100 Ethernet, 08:00:06:0D:90:33, IRQ 29.
Receiver lock-up bug exists -- enabling work-around.
Board assembly 742170-254, Physical connectors present: RJ45
Primary interface chip i82555 PHY #1.
General self-test: passed.
Serial sub-system self-test: passed.
Internal registers self-test: passed.
ROM checksum self-test: passed (0x24c9f043).
Receiver lock-up workaround activated.
Clocksource tsc unstable (delta = 119966425 ns)
Time: jiffies clocksource has been installed.
sym0: <875> rev 0x26 at pci 0000:01:02.0 irq 30
sym0: Symbios NVRAM, ID 7, Fast-20, SE, parity checking
sym0: open drain IRQ line driver, using on-chip SRAM
sym0: using LOAD/STORE-based firmware.
sym0: SCSI BUS has been reset.
scsi0 : sym-2.2.3
scsi 0:0:0:0: ABORT operation started.
scsi 0:0:0:0: ABORT operation timed-out.
scsi 0:0:0:0: DEVICE RESET operation started.
scsi 0:0:0:0: DEVICE RESET operation timed-out.
scsi 0:0:0:0: BUS RESET operation started.
scsi 0:0:0:0: BUS RESET operation timed-out.
scsi 0:0:0:0: HOST RESET operation started.
sym0: SCSI BUS has been reset.
scsi 0:0:0:0: HOST RESET operation timed-out.
scsi 0:0:0:0: scsi: Device offlined - not ready after error recovery
scsi 0:0:1:0: ABORT operation started.
scsi 0:0:1:0: ABORT operation timed-out.
scsi 0:0:1:0: DEVICE RESET operation started.
scsi 0:0:1:0: DEVICE RESET operation timed-out.
scsi 0:0:1:0: BUS RESET operation started.
scsi 0:0:1:0: BUS RESET operation timed-out.
scsi 0:0:1:0: HOST RESET operation started.
sym0: SCSI BUS has been reset.
scsi 0:0:1:0: HOST RESET operation timed-out.
scsi 0:0:1:0: scsi: Device offlined - not ready after error recovery
scsi 0:0:2:0: ABORT operation started.

2007-05-02 17:11:53

by Ivan Kokshaysky

[permalink] [raw]
Subject: Re: regression on quad Xeon: no SCSI-disks

On Wed, May 02, 2007 at 04:47:16PM +0200, Wolfgang Erig wrote:
> On Tue, May 01, 2007 at 12:01:56PM -0400, Chuck Ebbert wrote:
> > Output from kernel with CONFIG_PCI_DEBUG could be useful.
> >
> Linux version 2.6.21-gde46c337 (erig@pippin) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #3 SMP Wed May 2 08:39:55 CEST 2007

Still no clues. Could you post 'lspci -vvv', 'cat /proc/ioports' and
'cat /proc/iomem' outputs from working kernel?

Ivan.

2007-05-03 08:41:45

by Wolfgang Erig

[permalink] [raw]
Subject: Re: regression on quad Xeon: no SCSI-disks

Hello Ivan,

On Wed, May 02, 2007 at 09:12:15PM +0400, Ivan Kokshaysky wrote:
> On Wed, May 02, 2007 at 04:47:16PM +0200, Wolfgang Erig wrote:
> > On Tue, May 01, 2007 at 12:01:56PM -0400, Chuck Ebbert wrote:
> > > Output from kernel with CONFIG_PCI_DEBUG could be useful.
> > >
> > Linux version 2.6.21-gde46c337 (erig@pippin) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #3 SMP Wed May 2 08:39:55 CEST 2007
>
> Still no clues. Could you post 'lspci -vvv', 'cat /proc/ioports' and
> 'cat /proc/iomem' outputs from working kernel?

the output is attached.

I saw a strange problem with ehternet too.
After booting the bad kernel and reboot the good kernel,
the ethernet doesn't work anymore. Multiple reboot, power off,
trying older kernel 2.4.27 didn't help. Pulling the power cable
fixed the problem.

I am prepared to do tweaks to your small patch, but I need your help.
My own blindly experiments failed miserably.

Wolfgang


$ uname -a
Linux pippin 2.6.12 #1 SMP Mon Apr 30 17:31:13 CEST 2007 i686 GNU/Linux
$ lspci -vvv
00:02.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 02)
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:02.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01) (prog-if 80 [Master])
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
Region 4: I/O ports at 2020 [disabled] [size=16]

00:02.2 USB Controller: Intel Corporation 82371AB/EB/MB 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
Interrupt: pin D routed to IRQ 19
Region 4: I/O ports at 2000 [size=32]

00:02.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02)
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 ? routed to IRQ 9

00:03.0 VGA compatible controller: Cirrus Logic GD 5446 (rev 45) (prog-if 00 [VGA])
Subsystem: Siemens Nixdorf AG Unknown device 0034
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-
Region 0: Memory at fc000000 (32-bit, prefetchable) [size=32M]
Region 1: Memory at fa000000 (32-bit, non-prefetchable) [size=4K]

00:04.0 System peripheral: Siemens Nixdorf AG FSC Multiprocessor Interrupt Controller (rev 02)
Subsystem: Siemens Nixdorf AG Unknown device 0035
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-
Region 0: Memory at a0000000 (32-bit, non-prefetchable) [size=1K]

00:05.0 PCI bridge: Intel Corporation 80960RP [i960 RP Microprocessor/Bridge] (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: 64, Cache Line Size: 32 bytes
Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
I/O behind bridge: 00003000-00003fff
Memory behind bridge: fa100000-fa2fffff
Prefetchable memory behind bridge: fa600000-fa6fffff
Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-

00:05.1 I2O: Intel Corporation 80960RP [i960RP Microprocessor] (rev 03) (prog-if 01)
Subsystem: Siemens Nixdorf AG Unknown device 0036
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, Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 28
Region 0: Memory at fa500000 (32-bit, prefetchable) [size=1M]

00:10.0 Host bridge: Intel Corporation 450NX - 82451NX Memory & I/O Controller (rev 03)
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:12.0 Host bridge: Intel Corporation 450NX - 82454NX/84460GX PCI Expander Bridge (rev 02)
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: 72, Cache Line Size: 32 bytes

00:13.0 Host bridge: Intel Corporation 450NX - 82454NX/84460GX PCI Expander Bridge (rev 02)
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: 72, Cache Line Size: 32 bytes

00:14.0 Host bridge: Intel Corporation 450NX - 82454NX/84460GX PCI Expander Bridge (rev 02)
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: 72, Cache Line Size: 32 bytes

01:01.0 Ethernet controller: Intel Corporation 82557/8/9 [Ethernet Pro 100] (rev 05)
Subsystem: Siemens Nixdorf AG Unknown device 0031
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 (2000ns min, 14000ns max), Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 29
Region 0: Memory at fa600000 (32-bit, prefetchable) [size=4K]
Region 1: I/O ports at 3800 [size=32]
Region 2: Memory at fa100000 (32-bit, non-prefetchable) [size=1M]
Capabilities: <access denied>

01:02.0 SCSI storage controller: LSI Logic / Symbios Logic 53c875 (rev 26)
Subsystem: LSI Logic / Symbios Logic LSI53C876/E PCI to Dual Channel 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: 72 (4250ns min, 16000ns max), Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 30
Region 0: I/O ports at 3000 [size=256]
Region 1: Memory at fa202000 (32-bit, non-prefetchable) [size=256]
Region 2: Memory at fa200000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <access denied>

01:03.0 SCSI storage controller: LSI Logic / Symbios Logic 53c875 (rev 26)
Subsystem: LSI Logic / Symbios Logic LSI53C876/E PCI to Dual Channel 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: 72 (4250ns min, 16000ns max), Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 31
Region 0: I/O ports at 3400 [size=256]
Region 1: Memory at fa202400 (32-bit, non-prefetchable) [size=256]
Region 2: Memory at fa201000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <access denied>

03:0e.0 SCSI storage controller: QLogic Corp. QLA2100 64-bit Fibre Channel Adapter (rev 03)
Subsystem: QLogic Corp. QLA2100 64-bit Fibre Channel Adapter
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, Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 26
Region 0: I/O ports at 4000 [size=256]
Region 1: Memory at fe200000 (32-bit, non-prefetchable) [size=4K]

$ cat /proc/ioports
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-006f : keyboard
0070-0077 : rtc
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
02e8-02ef : serial
02f8-02ff : serial
0378-037a : parport0
03c0-03df : vga+
03e8-03ef : serial
03f8-03ff : serial
0cf8-0cff : PCI conf1
1000-103f : 0000:00:02.3
1040-105f : 0000:00:02.3
2000-201f : 0000:00:02.2
2020-202f : 0000:00:02.1
3000-3fff : PCI Bus #01
3000-30ff : 0000:01:02.0
3000-30ff : sym53c8xx
3400-34ff : 0000:01:03.0
3400-34ff : sym53c8xx
3800-381f : 0000:01:01.0
3800-381f : eepro100
4000-40ff : 0000:03:0e.0
$ cat /proc/iomem
00000000-0009d3ff : System RAM
0009d400-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000c8000-000cbfff : Adapter ROM
000f0000-000fffff : System ROM
00100000-9fffffff : System RAM
00100000-0022f9be : Kernel code
0022f9bf-002cc67f : Kernel data
a0000000-a00003ff : 0000:00:04.0
fa000000-fa000fff : 0000:00:03.0
fa100000-fa2fffff : PCI Bus #01
fa100000-fa1fffff : 0000:01:01.0
fa200000-fa200fff : 0000:01:02.0
fa200000-fa200fff : sym53c8xx
fa201000-fa201fff : 0000:01:03.0
fa201000-fa201fff : sym53c8xx
fa202000-fa2020ff : 0000:01:02.0
fa202000-fa2020ff : sym53c8xx
fa202400-fa2024ff : 0000:01:03.0
fa202400-fa2024ff : sym53c8xx
fa500000-fa5fffff : 0000:00:05.1
fa600000-fa6fffff : PCI Bus #01
fa600000-fa600fff : 0000:01:01.0
fa600000-fa600fff : eepro100
fc000000-fdffffff : 0000:00:03.0
fe200000-fe200fff : 0000:03:0e.0
fec00000-fecfffff : reserved
fee00000-feefffff : reserved
ffe00000-ffffffff : reserved

2007-05-03 23:18:19

by Ivan Kokshaysky

[permalink] [raw]
Subject: Re: regression on quad Xeon: no SCSI-disks

On Thu, May 03, 2007 at 10:41:41AM +0200, Wolfgang Erig wrote:
> I am prepared to do tweaks to your small patch, but I need your help.
> My own blindly experiments failed miserably.

I don't think that patch did anything wrong, most likely it just
triggered a bug elsewhere. These two lines from your dmesg look
very suspicious:

> PCI: Cannot allocate resource region 0 of device 0000:00:04.0
> PCI: Error while updating region 0000:00:04.0/0 (a8008000 != fec08000)

Note that the BAR seems to have high address bits hardwired to fec00000.
And device 0000:00:04.0 is
> 00:04.0 System peripheral: Siemens Nixdorf AG FSC Multiprocessor Interrupt Controller (rev 02)

I'd guess that when we try to reassign this resource, PCI interrupts might
just stop working. This could explain SCSI timeouts and other weird things.

Maybe this patch helps?

Ivan.

--- 2.6.21/arch/i386/pci/fixup.c 2007-02-04 21:44:54.000000000 +0300
+++ linux/arch/i386/pci/fixup.c 2007-05-04 01:58:32.629654275 +0400
@@ -436,3 +436,14 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_CY
pci_early_fixup_cyrix_5530);
DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_5530_LEGACY,
pci_early_fixup_cyrix_5530);
+
+/*
+ * Siemens Nixdorf AG FSC Multiprocessor Interrupt Controller:
+ * prevent update of the BAR0, which doesn't look like a normal BAR.
+ */
+static void __devinit pci_siemens_interrupt_controller(struct pci_dev *dev)
+{
+ dev->resource[0].flags |= IORESOURCE_PCI_FIXED;
+}
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SIEMENS, 0x0015,
+ pci_siemens_interrupt_controller);

2007-05-04 13:22:42

by Wolfgang Erig

[permalink] [raw]
Subject: Re: regression on quad Xeon: no SCSI-disks

On Fri, May 04, 2007 at 03:18:54AM +0400, Ivan Kokshaysky wrote:
> On Thu, May 03, 2007 at 10:41:41AM +0200, Wolfgang Erig wrote:
> > I am prepared to do tweaks to your small patch, but I need your help.
> > My own blindly experiments failed miserably.
>
> I don't think that patch did anything wrong, most likely it just
> triggered a bug elsewhere. These two lines from your dmesg look
> very suspicious:
>
> > PCI: Cannot allocate resource region 0 of device 0000:00:04.0
> > PCI: Error while updating region 0000:00:04.0/0 (a8008000 != fec08000)
>
> Note that the BAR seems to have high address bits hardwired to fec00000.
> And device 0000:00:04.0 is
> > 00:04.0 System peripheral: Siemens Nixdorf AG FSC Multiprocessor Interrupt Controller (rev 02)
>
> I'd guess that when we try to reassign this resource, PCI interrupts might
> just stop working. This could explain SCSI timeouts and other weird things.
>
> Maybe this patch helps?
>
> Ivan.
>
> --- 2.6.21/arch/i386/pci/fixup.c 2007-02-04 21:44:54.000000000 +0300
> +++ linux/arch/i386/pci/fixup.c 2007-05-04 01:58:32.629654275 +0400
> @@ -436,3 +436,14 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_CY
> pci_early_fixup_cyrix_5530);
> DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_5530_LEGACY,
> pci_early_fixup_cyrix_5530);
> +
> +/*
> + * Siemens Nixdorf AG FSC Multiprocessor Interrupt Controller:
> + * prevent update of the BAR0, which doesn't look like a normal BAR.
> + */
> +static void __devinit pci_siemens_interrupt_controller(struct pci_dev *dev)
> +{
> + dev->resource[0].flags |= IORESOURCE_PCI_FIXED;
> +}
> +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SIEMENS, 0x0015,
> + pci_siemens_interrupt_controller);
> -
bingo, this works.
If it makes sense, please send this to Linus.

Thanks a lot,
Wolfgang