Date: Fri, 6 Jan 2006 18:27:41 GMT From: John McLaughlin <mail2jmcl@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/91410: Promise SATA controller + striping : "SETFEATURES SET TRANSFER MODE semaphore timeout" Message-ID: <200601061827.k06IRfdT064431@www.freebsd.org> Resent-Message-ID: <200601061830.k06IU4od010301@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 91410 >Category: kern >Synopsis: Promise SATA controller + striping : "SETFEATURES SET TRANSFER MODE semaphore timeout" >Confidential: no >Severity: critical >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri Jan 06 18:30:04 GMT 2006 >Closed-Date: >Last-Modified: >Originator: John McLaughlin >Release: 6.0-R >Organization: >Environment: FreeBSD jmcl.shadowbox.ie 6.0-STABLE FreeBSD 6.0-STABLE #0: Fri Jan 6 13:35:01 GMT 2006 root@jmcl.shadowbox.ie:/usr/obj/usr/src/sys/JMCL i386 >Description: I upgraded to 6.0 from 4.11 last week on an old Dell Poweredge 1300 dual processor P III server, as I wanted to install a SATA controller and two drives ( 250Gb WD Caviar). The controller is a Promise TX2Plus SATAII 150, which uses the PDC20575 chipset. The system also has two SCSI disks hanging off the onboard controller, which i'm using for the OS I want to configure the disks as a RAID 0 array, so used gstripe as outlined in the handbook to create the array using the commands: # kldload geom_stripe.ko # gstripe label -v st0 /dev/ad4 /dev/ad6 # bsdlabel -wB /dev/stripe/st0 # newfs -U /dev/stripe/st0a I was able to mount and write to the array. I then tried copying a large file across the network from my Linux laptop (using scp and coming in over the fxp0 interface). and after a couple of minutes got the following: ad6: req=0xc1213960 SETFEATURES SET TRANSFER MODE semaphore timeout !! DANGER Will Robinson !! I was running a make -j 4 buildworld at the same time, so the system was fairly loaded, so I rebooted (hard reset was necessary) and tried with nothing else running with the same outcome. I looked at the mailing list archives and couldn't find much that was useful, other than a suggestion to set polling on fxp0, and that it was something that might turn up due to undiscovered bugs in the new ATA code. I also tried changing the card to a different PCI slot, but if anything that only made the problem worse as the error happened when booted into single user mode to fsck the array. After finally getting the CVSUPed code built and installed, I rebooted, and after a few second, before I had a chance to try the polling, the system fell over with no activity of any kind happening As a matter of interest, I decided to reconfigure the disks back into 2 separate disks, and the problem disappeared. Even while stressing the net connections and writing to both disks, so the problem seems to be related to module geom_stripe. Also, the write speed is higher to a single disk, than it was to the array. The output from pciconf is: agp0@pci0:0:0: class=0x060000 card=0x008e1028 chip=0x71908086 rev=0x03 hdr=0x00 vendor = 'Intel Corporation' device = '82443BX/ZX 440BX/ZX CPU to PCI Bridge (AGP Implemented)' class = bridge subclass = HOST-PCI pcib1@pci0:1:0: class=0x060400 card=0x00000000 chip=0x71918086 rev=0x03 hdr=0x01 vendor = 'Intel Corporation' device = '82443BX/ZX 440BX/ZX AGPset PCI-to-PCI bridge' class = bridge subclass = PCI-PCI pcib2@pci0:2:0: class=0x060400 card=0x000000dc chip=0x00241011 rev=0x03 hdr=0x01 vendor = 'Digital Equipment Corporation' device = '21151/2 PCI to PCI Bridge' class = bridge subclass = PCI-PCI isab0@pci0:7:0: class=0x060100 card=0x00000000 chip=0x71108086 rev=0x02 hdr=0x00 vendor = 'Intel Corporation' device = '82371AB/EB/MB PIIX4/4E/4M ISA Bridge' class = bridge subclass = PCI-ISA atapci1@pci0:7:1: class=0x010180 card=0x00000000 chip=0x71118086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = '82371AB/EB/MB PIIX4/4E/4M IDE Controller' class = mass storage subclass = ATA uhci0@pci0:7:2: class=0x0c0300 card=0x00000000 chip=0x71128086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = '82371AB/EB/MB PIIX4/4E/4M USB Interface' class = serial bus subclass = USB piix0@pci0:7:3: class=0x068000 card=0x00000000 chip=0x71138086 rev=0x02 hdr=0x00 vendor = 'Intel Corporation' device = '82371AB/EB/MB PIIX4/4E/4M Power Management Controller' class = bridge xl0@pci0:13:0: class=0x020000 card=0x905510b7 chip=0x905510b7 rev=0x24 hdr=0x00 vendor = '3COM Corp, Networking Division' device = '3C905B-TX Fast Etherlink 10/100 PCI TX NIC' class = network subclass = ethernet re0@pci0:14:0: class=0x020000 card=0x434e1371 chip=0x816910ec rev=0x10 hdr=0x00 vendor = 'Realtek Semiconductor' device = 'RTL8169 Gigabit Ethernet Adapter' class = network subclass = ethernet fxp0@pci0:16:0: class=0x020000 card=0x100c8086 chip=0x12298086 rev=0x08 hdr=0x00 vendor = 'Intel Corporation' device = '82550/1/7/8/9 EtherExpress PRO/100(B) Ethernet Adapter' class = network subclass = ethernet drm0@pci0:17:0: class=0x030000 card=0x0036121a chip=0x0005121a rev=0x01 hdr=0x00 vendor = '3dfx Interactive Inc' device = 'Voodoo3 All Voodoo3 chips, 3000' class = display subclass = VGA none0@pci1:0:0: class=0x030000 card=0x008e1028 chip=0x47571002 rev=0x7a hdr=0x00 vendor = 'ATI Technologies Inc' device = 'Rage 3D IIC AGP (BGA Package)' class = display subclass = VGA atapci0@pci2:9:0: class=0x018000 card=0x3d75105a chip=0x3d75105a rev=0x02 hdr=0x00 vendor = 'Promise Technology Inc' class = mass storage ahc0@pci2:11:0: class=0x010000 card=0x000f9005 chip=0x001f9005 rev=0x01 hdr=0x00 vendor = 'Adaptec Inc' device = 'AHA-2940U2/AHA-2940U2W AIC-7890/1 Ultra2 SCSI Controller' class = mass storage subclass = SCSI dmesg output is: Copyright (c) 1992-2005 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 6.0-RELEASE #3: Thu Jan 5 10:30:19 GMT 2006 root@jmcl.shadowbox.ie:/usr/src/sys/i386/compile/JMCL Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Pentium III/Pentium III Xeon/Celeron (498.47-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x673 Stepping = 3 Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE> real memory = 134209536 (127 MB) avail memory = 125845504 (120 MB) MPTable: <DELL POWEREDGE 8E> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0 (BSP): APIC ID: 1 cpu1 (AP): APIC ID: 0 ioapic0: Changing APIC ID to 2 ioapic0: Assuming intbase of 0 ioapic0 <Version 1.1> irqs 0-23 on motherboard npx0: [FAST] npx0: <math processor> on motherboard npx0: INT 16 interface cpu0 on motherboard cpu1 on motherboard pcib0: <MPTable Host-PCI bridge> pcibus 0 on motherboard pci0: <PCI bus> on pcib0 agp0: <Intel 82443BX (440 BX) host to PCI bridge> mem 0xec000000-0xefffffff at device 0.0 on pci0 pcib1: <MPTable PCI-PCI bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 pci1: <display, VGA> at device 0.0 (no driver attached) pcib2: <MPTable PCI-PCI bridge> at device 2.0 on pci0 pci2: <PCI bus> on pcib2 xl0: <3Com 3c905B-TX Fast Etherlink XL> port 0xdc80-0xdcff mem 0xf9fffc00-0xf9fffc7f irq 21 at device 9.0 on pci2 miibus0: <MII bus> on xl0 xlphy0: <3Com internal media interface> on miibus0 xlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto xl0: Ethernet address: 00:10:5a:be:20:b8 ahc0: <Adaptec aic7890/91 Ultra2 SCSI adapter> port 0xd800-0xd8ff mem 0xf9ffe000-0xf9ffefff irq 16 at device 11.0 on pci2 ahc0: [GIANT-LOCKED] aic7890/91: Ultra2 Wide Channel A, SCSI Id=7, 32/253 SCBs isab0: <PCI-ISA bridge> at device 7.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <Intel PIIX4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xffa0-0xffaf at device 7.1 on pci0 ata0: <ATA channel 0> on atapci0 ata1: <ATA channel 1> on atapci0 uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0xcce0-0xccff irq 19 at device 7.2 on pci0 uhci0: [GIANT-LOCKED] usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered piix0: <PIIX Timecounter> port 0x850-0x85f at device 7.3 on pci0 Timecounter "PIIX" frequency 3579545 Hz quality 0 atapci1: <Promise PDC20575 SATA150 controller> port 0xcc00-0xcc7f,0xc800-0xc8ff mem 0xfe121000-0xfe121fff,0xfe100000-0xfe11ffff irq 17 at device 13.0 on pci0 ata2: <ATA channel 0> on atapci1 ata3: <ATA channel 1> on atapci1 ata4: <ATA channel 2> on atapci1 re0: <RealTek 8110S Single-chip Gigabit Ethernet> port 0xc400-0xc4ff mem 0xfe122000-0xfe1220ff irq 18 at device 14.0 on pci0 miibus1: <MII bus> on re0 rgephy0: <RTL8169S/8110S media interface> on miibus1 rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX, 1000baseTX-FDX, auto re0: Ethernet address: 00:08:a1:2e:12:8f fxp0: <Intel 82559 Pro/100 Ethernet> port 0xcc80-0xccbf mem 0xfe120000-0xfe120fff,0xfe000000-0xfe0fffff irq 19 at device 16.0 on pci0 miibus2: <MII bus> on fxp0 inphy0: <i82555 10/100 media interface> on miibus2 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto fxp0: Ethernet address: 00:90:27:dc:65:be drm0: <3dfx Voodoo3 3000> port 0xc000-0xc0ff mem 0xf6000000-0xf7ffffff,0xf0000000-0xf1ffffff irq 20 at device 17.0 on pci0 info: [drm] Initialized tdfx 1.0.0 20010216 on minor 0 pmtimer0 on isa0 orm0: <ISA Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xccfff,0xd0000-0xd4fff on isa0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model IntelliMouse, device ID 3 fdc0: <Enhanced floppy controller> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0fdc0: [FAST] fd0: <1440-KB 3.5" drive> on fdc0 drive 0 ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/8 bytes threshold ppbus0: <Parallel port bus> on ppc0 plip0: <PLIP network interface> on ppbus0 lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port ppi0: <Parallel I/O> on ppbus0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 unknown: <PNP0c01> can't assign resources (memory) unknown: <PNP0501> can't assign resources (port) unknown: <PNP0501> can't assign resources (port) unknown: <PNP0401> can't assign resources (port) unknown: <PNP0700> can't assign resources (port) unknown: <PNP0f13> can't assign resources (irq) unknown: <PNP0303> can't assign resources (port) Timecounters tick every 1.000 msec ipfw2 (+ipv6) initialized, divert loadable, rule-based forwarding disabled, default to accept, logging unlimited Waiting 5 seconds for SCSI devices to settle acd0: CDRW <HL-DT-ST GCE-8160B/2.08> at ata1-master PIO4 ad4: 238475MB <WDC WD2500KS-00MJB0 02.01C03> at ata2-master SATA150 ad6: 238475MB <WDC WD2500KS-00MJB0 02.01C03> at ata3-master SATA150 GEOM_STRIPE: Device st0 created (id=2159043801). GEOM_STRIPE: Disk ad4 attached to st0. GEOM_STRIPE: Disk ad6 attached to st0. GEOM_STRIPE: Device st0 activated. da1 at ahc0 bus 0 target 4 lun 0 da1: <QUANTUM ATLAS V 18 WLS 0201> Fixed Direct Access SCSI-3 device da1: 80.000MB/s transfers (40.000MHz, offset 63, 16bit), Tagged Queueing Enabledda1: 17366MB (35566499 512 byte sectors: 255H 63S/T 2213C) SMP: AP CPU #1 Launched! da0 at ahc0 bus 0 target 0 lun 0 da0: <IBM DNES-309170W SA60> Fixed Direct Access SCSI-3 device da0: 80.000MB/s transfers (40.000MHz, offset 31, 16bit), Tagged Queueing Enabled da0: 8683MB (17783301 512 byte sectors: 255H 63S/T 1106C) Trying to mount root from ufs:/dev/da0s1a ad6: req=0xc1213960 SETFEATURES SET TRANSFER MODE semaphore timeout !! DANGER Will Robinson !! ad6: req=0xc1213960 SETFEATURES SET TRANSFER MODE semaphore timeout !! DANGER Will Robinson !! ad6: req=0xc1213960 SETFEATURES SET TRANSFER MODE semaphore timeout !! DANGER Will Robinson !! : fxp0: device timeout : etc, etc..... My kernel config is: machine i386 cpu I686_CPU ident JMCL # To statically compile in device wiring instead of /boot/device.hints #hints "GENERIC.hints" # Default places to look for devices. makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols options SMP #options SCHED_ULE # ULE scheduler options SCHED_4BSD # 4BSD scheduler options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking #options INET6 # IPv6 communications protocols options FFS # Berkeley Fast Filesystem options SOFTUPDATES # Enable FFS soft updates support options UFS_ACL # Support for access control lists options UFS_DIRHASH # Improve performance on big directoriesoptions MD_ROOT # MD is a potential root device options NFSCLIENT # Network Filesystem Client options NFSSERVER # Network Filesystem Server options NFS_ROOT # NFS usable as /, requires NFSCLIENT options MSDOSFS # MSDOS Filesystem options CD9660 # ISO 9660 Filesystem options PROCFS # Process filesystem (requires PSEUDOFS)options PSEUDOFS # Pseudo-filesystem framework options GEOM_GPT # GUID Partition Tables. options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!] options COMPAT_FREEBSD4 # Compatible with FreeBSD4 options COMPAT_FREEBSD5 # Compatible with FreeBSD5 options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI options KTRACE # ktrace(1) support options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev options AHC_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~128k to driver. options AHD_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~215k to driver. options ADAPTIVE_GIANT # Giant mutex is adaptive. # Firewall options options IPFIREWALL options IPFIREWALL_VERBOSE #options IPFIREWALL_VERBOSE_LIMIT=5 options IPFIREWALL_DEFAULT_TO_ACCEPT options IPDIVERT # NAT # Enable device polling options DEVICE_POLLING options HZ=1000 device apic # I/O APIC device drm # DRM core module required by DRM drivers device tdfxdrm # 3dfx Voodoo 3/4/5 and Banshee # Bus support. device eisa device pci # Floppy drives device fdc # ATA and ATAPI devices device ata device atadisk # ATA disk drives device ataraid # ATA RAID drives device atapicd # ATAPI CDROM drives device atapifd # ATAPI floppy drives device atapist # ATAPI tape drives options ATA_STATIC_ID # Static device numbering # SCSI Controllers device ahc # AHA2940 and onboard AIC7xxx devices # SCSI peripherals device scbus # SCSI bus (required for SCSI) device ch # SCSI media changers device da # Direct Access (disks) device sa # Sequential Access (tape etc) device cd # CD device pass # Passthrough device (direct SCSI access) device ses # SCSI Environmental Services (and SAF-TE) # atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc # AT keyboard controller device atkbd # AT keyboard device psm # PS/2 mouse device vga # VGA video card driver device splash # Splash screen and screen saver support # syscons is the default console driver, resembling an SCO console device sc device agp # support several AGP chipsets # Power management support (see NOTES for more options) #device apm # Add suspend/resume support for the i8254. device pmtimer # Serial (COM) ports device sio # 8250, 16[45]50 based serial ports # Parallel port device ppc device ppbus # Parallel port bus (required) device lpt # Printer device plip # TCP/IP over parallel device ppi # Parallel port interface device #device vpo # Requires scbus and da # PCI Ethernet NICs that use the common MII bus controller code. # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs! device miibus # MII buss support device fxp # Intel EtherExpress PRO/100B (82557, 82558) device re # RealTek 8139C+/8169/8169S/8110S device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') # Pseudo devices. device loop # Network loopback device random # Entropy device device ether # Ethernet support device sl # Kernel SLIP device ppp # Kernel PPP device tun # Packet tunnel. device pty # Pseudo-ttys (telnet etc) device md # Memory "disks" device gif # IPv6 and IPv4 tunneling device faith # IPv6-to-IPv4 relaying (translation) # The `bpf' device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! # Note that 'bpf' is required for DHCP. device bpf # Berkeley packet filter # USB support device uhci # UHCI PCI->USB interface device ohci # OHCI PCI->USB interface device ehci # EHCI PCI->USB interface (USB 2.0) device usb # USB Bus (required) #device udbp # USB Double Bulk Pipe devices device ugen # Generic device uhid # "Human Interface Devices" device ukbd # Keyboard device ulpt # Printer device umass # Disks/Mass storage - Requires scbus and da device ums # Mouse device urio # Diamond Rio 500 MP3 player device uscanner # Scanners I'd like to be able to get the disks up and running striped, but can hold off for a while if I can help resolve this. John >How-To-Repeat: Enable GEOM striping on the disks, and perform some file system activity at the same time as some network activity >Fix: >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200601061827.k06IRfdT064431>