------=_NextPart_000_004D_01C1D7DF.6C610120
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
I run into hard system hangs with my promise controller (kernel:
2.4.19-pre4-ac3)
Background:
* Harddisk with bad sectors.
* reading from one of the bad sectors usually causes error messages, but
sooner or later the kernel falls back from UDMA to pio.
* obviously pio doesn't work either, and ide_error is called.
* the fallback works if the harddisk is connected to a via VT82C686
south bridge.
* the fallback causes a total system hang if the drive is connected to
the promise controller.
* it hangs on the "rep;insw;" instruction in ata_input_data(), called by
try_to_flush_leftover_data().
Before someone replies that I should not try to read bad sectors: The
harddisk was used in a headless server, and I did not expect that sector
errors cause system crashes. And the crash defeats the purpose of
software raid1.
Any idea where I should continue to search? It seems that the pdc20269
controller doesn't handle the error fallback to pio. If I boot with
"ide=nodma", then pio works.
I've attached lspci and dmesg. If you have further questions, please
ask. I have a test setup with kdb.
--
Manfred
------=_NextPart_000_004D_01C1D7DF.6C610120
Content-Type: text/plain;
name="lspci.txt"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="lspci.txt"
00:0a.0 Unknown mass storage controller: Promise Technology, Inc.: =
Unknown device 4d69 (rev 02) (prog-if 85)
Subsystem: Promise Technology, Inc.: Unknown device 4d68
Flags: bus master, 66Mhz, slow devsel, latency 32, IRQ 12
I/O ports at 6300 [size=3D8]
I/O ports at 6400 [size=3D4]
I/O ports at 6500 [size=3D8]
I/O ports at 6600 [size=3D4]
I/O ports at 6700 [size=3D16]
Memory at e1000000 (32-bit, non-prefetchable) [size=3D16K]
Expansion ROM at <unassigned> [disabled] [size=3D16K]
Capabilities: [60] Power Management version 1
00: 5a 10 69 4d 07 00 30 04 02 85 80 01 08 20 00 00
10: 01 63 00 00 01 64 00 00 01 65 00 00 01 66 00 00
20: 01 67 00 00 00 00 00 e1 00 00 00 00 5a 10 68 4d
30: 00 00 00 00 60 00 00 00 00 00 00 00 0c 01 04 12
------=_NextPart_000_004D_01C1D7DF.6C610120
Content-Type: text/plain;
name="out.txt"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="out.txt"
klogd 1.4-0, log source =3D /proc/kmsg started.
Inspecting /boot/System.map-2.4.19-pre4-ac3
Loaded 16316 symbols from /boot/System.map-2.4.19-pre4-ac3.
Symbols match kernel version 2.4.19.
No module symbols loaded.
Linux version 2.4.19-pre4-ac3 (manfred@clmsdev.localdomain) (gcc version =
2.96 20000731 (Red Hat Linux 7.1 2.96-98)) #21 SMP Fri Mar 29 21:32:52 =
CET 2002
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 0000000003000000 (usable)
BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
On node 0 totalpages: 12288
zone(0): 4096 pages.
zone(1): 8192 pages.
zone(2): 0 pages.
Kernel command line: auto BOOT_IMAGE=3Dlinux ro root=3D301 =
BOOT_FILE=3D/boot/vmlinuz
No local APIC present or hardware disabled
Initializing CPU#0
Console: colour VGA+ 80x25
Calibrating delay loop... 119.60 BogoMIPS
Memory: 45256k/49152k available (1262k kernel code, 3512k reserved, 839k =
data, 232k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode... =
Ok.
kdb version 2.1 by Scott Lurndal, Keith Owens. Copyright SGI, All Rights =
Reserved
Dentry cache hash table entries: 8192 (order: 4, 65536 bytes)
Inode cache hash table entries: 4096 (order: 3, 32768 bytes)
Mount cache hash table entries: 1024 (order: 1, 8192 bytes)
Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
Enabling CPUID on Cyrix processor.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)
mtrr: detected mtrr type: Cyrix ARR
CPU0: Cyrix 6x86L 2x Core/Bus Clock stepping 02
SMP motherboard not detected.
Local APIC not detected. Using dummy APIC emulation.
PCI: PCI BIOS revision 2.10 entry at 0xfb610, last bus=3D0
PCI: Using configuration type 1
PCI: Probing PCI hardware
Activating ISA DMA hang workarounds.
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
Detected PS/2 Mouse Port.
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ =
SERIAL_PCI enabled
ttyS00 at 0x03f8 (irq =3D 4) is a 16550A
ttyS01 at 0x02f8 (irq =3D 3) is a 16550A
Real Time Clock Driver v1.10e
block: 80 slots per queue, batch=3D20
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with =
idebus=3Dxx
VP_IDE: IDE controller on PCI bus 00 dev 39
VP_IDE: chipset revision 2
VP_IDE: not 100%% native mode: will probe irqs later
ide: Assuming 33MHz system bus speed for PIO modes; override with =
idebus=3Dxx
VP_IDE: VIA vt82c586 (rev 02) IDE MWDMA16 controller on pci00:07.1
ide0: BM-DMA at 0x6000-0x6007, BIOS settings: hda:pio, hdb:pio
ide1: BM-DMA at 0x6008-0x600f, BIOS settings: hdc:pio, hdd:pio
PDC20269: IDE controller on PCI bus 00 dev 50
PDC20269: chipset revision 2
PDC20269: not 100%% native mode: will probe irqs later
ide2: BM-DMA at 0x6700-0x6707, BIOS settings: hde:pio, hdf:pio
reset_proc is 0h.
ide3: BM-DMA at 0x6708-0x670f, BIOS settings: hdg:pio, hdh:pio
reset_proc is 0h.
hda: IBM-DCAA-34330, ATA DISK drive
hde: Maxtor 4G160J8, ATA DISK drive
hdg: Maxtor 4G160J8, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide2 at 0x6300-0x6307,0x6402 on irq 12
ide3 at 0x6500-0x6507,0x6602 on irq 12
hda: 8467200 sectors (4335 MB) w/96KiB Cache, CHS=3D527/255/63, DMA
hde: 320173056 sectors (163929 MB) w/2048KiB Cache, CHS=3D19929/255/63, =
UDMA(33)
hdg: 320173056 sectors (163929 MB) w/2048KiB Cache, CHS=3D19929/255/63, =
UDMA(33)
ide-floppy driver 0.99.newide
Partition check:
hda: hda1 hda2 hda3
hde: hde1
hdg: hdg1
loop: loaded (max 8 devices)
ne2k-pci.c:v1.02 10/19/2000 D. Becker/P. Gortmaker
http://www.scyld.com/network/ne2k-pci.html
eth0: RealTek RTL-8029 found at 0x6200, IRQ 10, 00:00:1C:30:58:85.
[drm] Initialized tdfx 1.0.0 20010216 on minor 0
ide-floppy driver 0.99.newide
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 4096 bind 4096)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 232k freed
Adding Swap: 313256k swap-space (priority -1)
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
hde: dma_intr: status=3D0x51 { DriveReady SeekComplete Error }
hde: dma_intr: error=3D0x01 { AddrMarkNotFound }, LBAsect=3D43141736, =
high=3D2, low=3D9587304, sector=3D43141736
hde: dma_intr: status=3D0x51 { DriveReady SeekComplete Error }
hde: dma_intr: error=3D0x01 { AddrMarkNotFound }, LBAsect=3D43141736, =
high=3D2, low=3D9587304, sector=3D43141736
hde: dma_intr: status=3D0x51 { DriveReady SeekComplete Error }
hde: dma_intr: error=3D0x01 { AddrMarkNotFound }, LBAsect=3D43141736, =
high=3D2, low=3D9587304, sector=3D43141736
hde: dma_intr: status=3D0x51 { DriveReady SeekComplete Error }
hde: dma_intr: error=3D0x01 { AddrMarkNotFound }, LBAsect=3D43141736, =
high=3D2, low=3D9587304, sector=3D43141736
hde: DMA disabled
ide2: reset: success
SYSTEM hang!!!
I don't have the remaining lines, they were something like
ide2: MULTI-READ assume all data transfered is bad status=3D??
hde: task_mulin_intr: ...
hde: task_mulin_intr: ...
/// And now =
try_to_flush_leftover_data()->ata_input_data()->'rep;insw;'->hang.
------=_NextPart_000_004D_01C1D7DF.6C610120--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/