i386/57097: Promise Ultra 100 TX2 causes lockup on SMP kernels
John Mechalas
seagull at aracnet.com
Mon Sep 22 09:50:39 PDT 2003
>Number: 57097
>Category: i386
>Synopsis: Promise Ultra 100 TX2 causes lockup on SMP kernels
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: freebsd-i386
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Sep 22 09:50:22 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator: John Mechalas
>Release: FreeBSD 5.1-RELEASE i386
>Organization:
<organization of PR author (multiple lines)>
>Environment:
System: FreeBSD medley 5.1-RELEASE FreeBSD 5.1-RELEASE #4: Mon Sep 22 09:10:15 PDT 2003 root at medley:/usr/src/sys/i386/compile/MEDLEY i386
This system is an L440GX+ with two P-III processors. Boot log is attached
(though note that I had to recompile the kernel for single-proc operation
to file this report). Configuration in this case is boot disk on channel
1 of the promise I/O card and a secondary disk on the on-board PII4X
controller. No other IDE devices are connected.
The only kernel options that I include for SMP are:
#options SMP
#options APIC_IO
Boot messages (when configured for single proc operation):
kernel: root at medley:/usr/src/sys/i386/compile/MEDLEY
kernel: Preloaded elf kernel "/boot/kernel/kernel" at 0xc0443000.
kernel: Timecounter "i8254" frequency 1193182 Hz
kernel: Timecounter "TSC" frequency 696410200 Hz
kernel: CPU: Intel Pentium III (696.41-MHz 686-class CPU)
kernel: Origin = "GenuineIntel" Id = 0x683 Stepping = 3
kernel: Features=0x387fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,PN,MMX,FXSR,SSE>
kernel: real memory = 268369920 (255 MB)
kernel: avail memory = 256004096 (244 MB)
kernel: Pentium Pro MTRR support enabled
kernel: npx0: <math processor> on motherboard
kernel: npx0: INT 16 interface
kernel: pcibios: BIOS version 2.10
kernel: Using $PIR table, 12 entries at 0xc00fdf00
kernel: pcib0: <Intel 82443GX host to PCI bridge> at pcibus 0 on motherboard
kernel: pci0: <PCI bus> on pcib0
kernel: agp0: <Intel 82443GX host to PCI bridge> mem 0xf8000000-0xfbffffff at device 0.0 on pci0
kernel: pcib1: <PCIBIOS PCI-PCI bridge> at device 1.0 on pci0
kernel: pci1: <PCI bus> on pcib1
kernel: pcib2: <PCI-PCI bridge> at device 15.0 on pci1
kernel: pci2: <PCI bus> on pcib2
kernel: atapci0: <Promise PDC20268 UDMA100 controller> port 0x1050-0x105f,0x10d0-0x10d3,0x10d8-0x10df,0x10d4-0x10d7,0x10e0-0x10e7 mem 0xf4000000-0xf4003fff irq 11 at device 11.0 on pci0
kernel: ata2: at 0x10e0 on atapci0
kernel: ata3: at 0x10d8 on atapci0
kernel: ahc0: <Adaptec aic7896/97 Ultra2 SCSI adapter> port 0x1400-0x14ff mem 0xf4004000-0xf4004fff irq 5 at device 12.0 on pci0
kernel: aic7896/97: Ultra2 Wide Channel A, SCSI Id=7, 32/253 SCBs
kernel: ahc1: <Adaptec aic7896/97 Ultra2 SCSI adapter> port 0x1800-0x18ff mem 0xf4005000-0xf4005fff irq 5 at device 12.1 on pci0
kernel: aic7896/97: Ultra2 Wide Channel B, SCSI Id=7, 32/253 SCBs
kernel: puc0: <US Robotics (3Com) 3CP5609 PCI 16550 Modem> port 0x10e8-0x10ef irq 4 at device 13.0 on pci0
kernel: sio0: type 16550A
kernel: sio0: unable to activate interrupt in fast mode - using normal mode
kernel: pci0: <network, ethernet> at device 14.0 (no driver attached)
kernel: pcib3: <PCI-PCI bridge> at device 16.0 on pci0
kernel: pci3: <PCI bus> on pcib3
kernel: de0: <Digital 21140A Fast Ethernet> port 0x2000-0x207f mem 0xf4200000-0xf420007f irq 10 at device 4.0 on pci3
kernel: de0: ZNYX ZX34X 21140A [10-100Mb/s] pass 2.2
kernel: de0: address 00:c0:95:e0:79:2c
kernel: de1: <Digital 21140A Fast Ethernet> port 0x2080-0x20ff mem 0xf4200400-0xf420047f irq 11 at device 5.0 on pci3
kernel: de1: ZNYX ZX34X 21140A [10-100Mb/s] pass 2.2
kernel: de1: address 00:c0:95:e0:79:2d
kernel: de2: <Digital 21140A Fast Ethernet> port 0x2400-0x247f mem 0xf4200800-0xf420087f irq 11 at device 6.0 on pci3
kernel: de2: ZNYX ZX34X 21140A [10-100Mb/s] pass 2.2
kernel: de2: address 00:c0:95:e0:79:2e
kernel: de3: <Digital 21140A Fast Ethernet> port 0x2480-0x24ff mem 0xf4200c00-0xf4200c7f irq 11 at device 7.0 on pci3
kernel: de3: ZNYX ZX34X 21140A [10-100Mb/s] pass 2.2
kernel: de3: address 00:c0:95:e0:79:2f
kernel: isab0: <PCI-ISA bridge> at device 18.0 on pci0
kernel: isa0: <ISA bus> on isab0
kernel: atapci1: <Intel PIIX4 UDMA33 controller> port 0x10c0-0x10cf at device 18.1 on pci0
kernel: ata0: at 0x1f0 irq 14 on atapci1
kernel: ata1: at 0x170 irq 15 on atapci1
kernel: uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0x1060-0x107f irq 11 at device 18.2 on pci0
kernel: usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
kernel: usb0: USB revision 1.0
kernel: uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
kernel: uhub0: 2 ports with 2 removable, self powered
kernel: pci0: <bridge, PCI-unknown> at device 18.3 (no driver attached)
kernel: pci0: <display, VGA> at device 20.0 (no driver attached)
kernel: orm0: <Option ROMs> at iomem 0xca800-0xcafff,0xc8000-0xca7ff,0xc0000-0xc7fff on isa0
kernel: pmtimer0 on isa0
kernel: atkbdc0: <Keyboard controller (i8042)> at port 0x64,0x60 on isa0
kernel: atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kernel: kbd0 at atkbd0
kernel: psm0: <PS/2 Mouse> irq 12 on atkbdc0
kernel: psm0: model Generic PS/2 mouse, device ID 0
kernel: ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
kernel: ppc0: Generic chipset (ECP/PS2/NIBBLE) in COMPATIBLE mode
kernel: ppc0: FIFO with 16/16/8 bytes threshold
kernel: ppbus0: <Parallel port bus> on ppc0
kernel: lpt0: <Printer> on ppbus0
kernel: lpt0: Interrupt-driven port
kernel: ppi0: <Parallel I/O> on ppbus0
kernel: sc0: <System console> at flags 0x100 on isa0
kernel: sc0: VGA <16 virtual consoles, flags=0x300>
kernel: sio1 at port 0x2f8-0x2ff irq 3 on isa0
kernel: sio1: type 16550A
kernel: vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
kernel: unknown: <PNP0303> can't assign resources (port)
kernel: unknown: <PNP0c02> can't assign resources (port)
kernel: unknown: <PNP0f13> can't assign resources (irq)
kernel: unknown: <PNP0501> can't assign resources (port)
kernel: unknown: <PNP0401> can't assign resources (port)
kernel: Timecounters tick every 10.000 msec
kernel: ipfw2 initialized, divert enabled, rule-based forwarding enabled, default to deny, logging limited to 100 packets/entry by default
kernel: ad2: 78167MB <Maxtor 98196H8> [158816/16/63] at ata1-master UDMA33
kernel: ad4: 38166MB <WDC WD400EB-75CPF0> [77545/16/63] at ata2-master UDMA100
kernel: Waiting 2 seconds for SCSI devices to settle
kernel: de0: enabling 100baseTX port
kernel: Mounting root from ufs:/dev/ad4s1a
kernel: de1: autosense failed: cable problem?
kernel: de2: autosense failed: cable problem?
kernel: de3: autosense failed: cable problem?
kernel: de1: enabling 100baseTX port
Additional output when configured for/booting SMP:
Programming 24 pins in IOAPIC #0
IOAPIC #0 intpin 2 -> irq 0
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
cpu0 (BSP): apic id: 1, version: 0x00040011, at 0xfee00000
cpu1 (AP): apic id: 0, version: 0x00040011, at 0xfee00000
io0 (APIC): apic id: 2, version: 0x00170011, at 0xfec00000
APIC_IO: Testing 8254 interrupt delivery
APIC_IO: routing 8254 via IOAPIC #0 intpin 2
SMP: AP CPU #1 Launched!
>Description:
When operating in SMP mode using a Promise Ulta 100 TX2 IDE controller,
the system locks up under heavy I/O load (running a dump on a
filesystem will do it) and generated the following message:
ad4: READ commnad timeout tag=0 serv=0 - resetting
ata2: resetting devices
At this point, a forced reboot is necessary. This only happens in
SMP mode. When the kernel is built without SMP support, it
functions normally.
Note that this occurs no matter what the device configuration
seems to be. In this case, I have a single drive (the boot drive)
on the I/O card and a second drive on the on-board IDE controller.
I have also encountered this problem with both drives on the
same channel on the I/O card, and with one drive on either
channel on the I/O card. It also occurs with no devices attached
to the on-board controller. Only devices on the Promise card get
impacted.
I filed this report once before, and it was closed out by someone
the next day with "There are no known issues with the Promise
Ultra 100 TX2 card". That may be true, but there does seem to be
a problem with SMP operation and the TX2 card. I'd like someone
to at least pretend this is a real problem before closing it out
with a blowoff "it must be a hardware issue" response.
>How-To-Repeat:
Boot an SMP kernel with a disk attached to a Promise Ultra 100
TX2 I/O card and do a dump of a filesystem on that disk,
>Fix:
Current workaround is to disable SMP support in the kernel. :P
Either that, or remove the I/O card and go back to the on-board
controller. :P~~
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-i386
mailing list