Eugene Grosbein
2005-May-09 06:09 UTC
ACPI(pci_link) problem in 5.4-STABLE: TIMEOUT - WRITE_DMA retrying
>Submitter-Id: current-users >Originator: Eugene Grosbein >Organization: Svyaz Service JSC >Confidential: no >Synopsis: ACPI(pci_link) problem in 5.4-STABLE: TIMEOUT - WRITE_DMA retrying >Severity: non-critical >Priority: low >Category: kern >Class: sw-bug >Release: FreeBSD 5.4-STABLE i386 >Environment:System: FreeBSD dadv.grosbein.pp.ru 5.4-STABLE FreeBSD 5.4-STABLE #1: Sun May 8 21:16:52 KRAST 2005 root@dadv.grosbein.pp.ru:/mnt/old/home/obj/usr/local/src/sys/DADV i386>Description:RELENG_5 (sources of 4 may 2005) runs fine on Iwill BD100+ motherboard (440BX chipset) when ACPI is disabled at boot time. With ACPI enabled, it suffers from delays using ATA drives and the GENERIC kernel prints: ad4: TIMEOUT - WRITE_DMA retrying (2 retries left) LBA=146992553 ad6: TIMEOUT - WRITE_DMA retrying (2 retries left) LBA=2228575 ad4: FAILURE - ATA_IDENTIFY timed out ad6: TIMEOUT - READ_DMA retrying (2 retries left) LBA=7895167 And so on, but no data corruption is observed.>How-To-Repeat:Take Iwill BD100+ motherboard, install 5.3-RELEASE and update it to RELENG_5 (boot with ACPI disabled to upgrade).>Fix:Unknown. There is a workaround, add to /boot/loader.conf: debug.acpi.disabled="pci_link" With this workaround, the problem disappears. Here comes dmesg.boot (custom kernel, ACPI enabled, pci_link disabled, atapicam enabled): 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 5.4-STABLE #1: Sun May 8 21:16:52 KRAST 2005 root@dadv.grosbein.pp.ru:/mnt/old/home/obj/usr/local/src/sys/DADV Timecounter "i8254" frequency 1193165 Hz quality 0 CPU: Intel Celeron (902.04-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x68a Stepping = 10 Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE> real memory = 603914240 (575 MB) avail memory = 581259264 (554 MB) npx0: <math processor> on motherboard npx0: INT 16 interface acpi0: <AWARD AWRDACPI> on motherboard acpi0: Power Button (fixed) Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0 cpu0: <ACPI CPU (3 Cx states)> port 0x530-0x537 on acpi0 acpi_throttle0: <ACPI CPU Throttling> on cpu0 acpi_button0: <Power Button> on acpi0 pcib0: <ACPI Host-PCI bridge> port 0x5000-0x500f,0x4000-0x4041,0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 pcib0: no PRT entry for 0.7.INTD pcib0: no PRT entry for 0.16.INTA pcib0: no PRT entry for 0.18.INTA agp0: <Intel 82443BX (440 BX) host to PCI bridge> mem 0xe8000000-0xebffffff at device 0.0 on pci0 pcib1: <PCI-PCI bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 pcib0: no PRT entry for 0.1.INTA pci1: <display, VGA> at device 0.0 (no driver attached) pci1: <display> at device 0.1 (no driver attached) isab0: <PCI-ISA bridge> at device 7.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <Intel PIIX4 UDMA33 controller> port 0xf000-0xf00f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 7.1 on pci0 ata0: channel #0 on atapci0 ata1: channel #1 on atapci0 uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0xd000-0xd01f irq 9 at device 7.2 on pci0 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 intpm0: <Intel 82371AB Power management controller> port 0x5000-0x500f irq 9 at device 7.3 on pci0 intpm0: I/O mapped 5000 intpm0: intr IRQ 9 enabled revision 0 intsmb0: <Intel PIIX4 SMBUS Interface> on intpm0 smbus1: <System Management Bus> on intsmb0 smb0: <SMBus generic I/O> on smbus1 intpm0: PM I/O mapped 4000 fxp0: <Intel 82557 Pro/100 Ethernet> port 0xd400-0xd41f mem 0xf0000000-0xf00fffff,0xf0104000-0xf0104fff irq 9 at device 16.0 on pci0 miibus0: <MII bus> on fxp0 inphy0: <i82555 10/100 media interface> on miibus0 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto fxp0: Ethernet address: 00:a0:c9:89:95:1f atapci1: <Promise PDC20268 UDMA100 controller> port 0xe800-0xe80f,0xe400-0xe403,0xe000-0xe007,0xdc00-0xdc03,0xd800-0xd807 mem 0xf0100000-0xf0103fff irq 10 at device 18.0 on pci0 ata2: channel #0 on atapci1 ata3: channel #1 on atapci1 acpi_tz0: <Thermal Zone> port 0x530-0x537 on acpi0 speaker0: <PC speaker> port 0x61 on acpi0 fdc0: <floppy drive controller> port 0x3f7,0x3f2-0x3f5 irq 6 drq 2 on acpi0 fd0: <1440-KB 3.5" drive> on fdc0 drive 0 sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 on acpi0 sio0: type 16550A sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0 sio1: type 16550A ppc0: <ECP parallel printer port> port 0x778-0x77b,0x378-0x37f irq 7 drq 3 on acpi0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/16 bytes threshold ppbus0: <Parallel port bus> on ppc0 lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port ppi0: <Parallel I/O> on ppbus0 atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model NetMouse/NetScroll Optical, device ID 0 pmtimer0 on isa0 orm0: <ISA Option ROMs> at iomem 0xd0000-0xd27ff,0xc0000-0xccfff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <24 virtual consoles, flags=0x300> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 pcm0: <Yamaha OPL-SAx> at port 0x370-0x371,0x330-0x331,0x388-0x38f,0x530-0x537,0x220-0x22f irq 5 drq 1,0 on isa0 uhid0: American Power Conversion Back-UPS 500 FW: 6.5.I USB FW: c1, rev 1.10/1.00, addr 2, iclass 3/0 uscanner0: Hewlett-Packard HP ScanJet 2200C, rev 1.10/1.00, addr 3 Timecounter "TSC" frequency 902037771 Hz quality 800 Timecounters tick every 10.000 msec ipfw2 initialized, divert enabled, rule-based forwarding disabled, default to deny, logging unlimited acd0: DVDR <NEC DVD RW ND-3500AG/2.18> at ata0-master UDMA33 acd1: CDRW <SONY CD-RW CRX140E/1.0n> at ata1-master UDMA33 ad4: 76319MB <WDC WD800JB-00FMA0/13.03G13> [155061/16/63] at ata2-master UDMA100 ad6: 39266MB <IC35L040AVER07-0/ER4OA45A> [79779/16/63] at ata3-master UDMA100 cd0 at ata0 bus 0 target 0 lun 0 cd0: <_NEC DVD_RW ND-3500AG 2.18> Removable CD-ROM SCSI-0 device cd0: 33.000MB/s transfers cd0: cd present [2295104 x 2048 byte records] cd1 at ata1 bus 0 target 0 lun 0 cd1: <SONY CD-RW CRX140E 1.0n> Removable CD-ROM SCSI-0 device cd1: 33.000MB/s transfers cd1: cd present [332114 x 2048 byte records] Mounting root from ufs:/dev/ad6s1a Here comes output of pciconf -lv: agp0@pci0:0:0: class=0x060000 card=0x00000000 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 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 atapci0@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 intpm0@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 fxp0@pci0:16:0: class=0x020000 card=0x00018086 chip=0x12298086 rev=0x02 hdr=0x00 vendor = 'Intel Corporation' device = '82550/1/7/8/9 EtherExpress PRO/100(B) Ethernet Adapter' class = network subclass = ethernet atapci1@pci0:18:0: class=0x018085 card=0x4d68105a chip=0x4d68105a rev=0x02 hdr=0x00 vendor = 'Promise Technology Inc' device = 'PDC20268 Ultra100 TX2 EIDE Controller' class = mass storage drm0@pci1:0:0: class=0x030000 card=0x7c13174b chip=0x59611002 rev=0x01 hdr=0x00 vendor = 'ATI Technologies Inc' device = 'Radeon 9200 Series (RV280)' class = display subclass = VGA none0@pci1:0:1: class=0x038000 card=0x7c12174b chip=0x59411002 rev=0x01 hdr=0x00 vendor = 'ATI Technologies Inc' device = 'RV280 ATI Radeon 9200 - Secondary' class = display Here comes kernel config: machine i386 cpu I686_CPU options CPU_ENABLE_SSE ident DADV maxusers 0 options CLK_USE_I8254_CALIBRATION options CPU_SUSP_HLT options SCHED_4BSD # 4BSD scheduler options INET # InterNETworking 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 directories options NFSCLIENT # Network Filesystem Client options NFSSERVER # Network Filesystem Server options MSDOSFS # MSDOS Filesystem options CD9660 # ISO 9660 Filesystem options GEOM_GPT # GUID Partition Tables. options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!] 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 ADAPTIVE_GIANT # Giant mutex is adaptive. device apic # I/O APIC # Bus support. Do not remove isa, even if you have no isa slots device isa device pci # Floppy drives device fdc # ATA and ATAPI devices device ata device atadisk # ATA disk drives device atapicd # ATAPI CDROM drives options ATA_STATIC_ID # Static device numbering # 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 # Floating point support - do not disable. device npx # 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 ppi # Parallel port interface device # 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 bus support device fxp # Intel EtherExpress PRO/100B (82557, 82558) device ep # Etherlink III based cards # Pseudo devices. device loop # Network loopback device mem # Memory and kernel memory devices device io # I/O device device random # Entropy device device ether # Ethernet support device ppp # Kernel PPP device pty # Pseudo-ttys (telnet etc) device md # Memory "disks" device gif # IPv6 and IPv4 tunneling # 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 usb # USB Bus (required) device ugen # Generic device uhid # "Human Interface Devices" device umass # Disks/Mass storage - Requires scbus and da device uscanner # Scanners options PPP_BSDCOMP options PPP_DEFLATE options PPP_FILTER options AUTO_EOI_1 device atapicam device scbus device cd device da device pass options VESA options MAXCONS=24 options SC_HISTORY_SIZE=1000 options SC_MOUSE_CHAR=0x03 options SC_PIXEL_MODE device snp device speaker device sound device snd_mss options IPFIREWALL options IPFIREWALL_VERBOSE options IPDIVERT options DUMMYNET device smbus device intpm device smb options KDB options KDB_UNATTENDED options ALT_BREAK_TO_DEBUGGER options PQ_CACHESIZE=128 options SHOW_BUSYBUFS device tap device agp