Date: Mon, 22 Sep 2003 09:43:48 -0700 From: John Mechalas <seagull@aracnet.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: i386/57097: Promise Ultra 100 TX2 causes lockup on SMP kernels Message-ID: <200309221643.h8MGhmD5000328@onyx.spiritone.com> Resent-Message-ID: <200309221650.h8MGoMQp086452@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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@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@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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200309221643.h8MGhmD5000328>