* Scary Intel SATA problem: "frozen"
2006-11-14 15:04 [git patches] libata fixes Jeff Garzik
@ 2006-11-28 17:31 ` Linus Torvalds
2006-11-28 17:37 ` Mark Lord
` (3 more replies)
0 siblings, 4 replies; 26+ messages in thread
From: Linus Torvalds @ 2006-11-28 17:31 UTC (permalink / raw)
To: Jeff Garzik; +Cc: Andrew Morton, linux-ide
[ You may or may not have gotten my previous email. The kernel stayed
working, but due to the IO errors the filesystem got re-mounted
read-only, and I'm not sure that the email I sent out in that state
actually ever made it out. I suspect it didn't. ]
Jeff,
I just had a scary thing on my nice new Intel i965 box (all Intel
chipsets apart from some strange Marvell IDE interface that I'm not using
and that no driver even detected, and a TI firewire thing that I'm
similarly not using).
The machine basically froze for about a minute or so (well, things worked
surprisingly well, considering that apparently no disk IO happened - I
initially thought it was just firefox that had frozen up, since my mail
session seemed to be fine), and after it came back the filesystem was
mounted read-only and nothing really worked any more..
I have no idea what status 0xD0 means: it looks like ATA_BUSY + ATA_DRDY +
"bit#4", but what is bit#4?
And clearly, the soft-reset isn't doing squat.
Ideas?
Linus
----
Boot-time messages:
libata version 2.00 loaded.
..
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
Probing IDE interface ide0...
Probing IDE interface ide1...
ide-floppy driver 0.99.newide
ata_piix 0000:00:1f.2: version 2.00ac6
ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]
ACPI: PCI Interrupt 0000:00:1f.2[A] -> GSI 19 (level, low) -> IRQ 19
PCI: Setting latency timer of device 0000:00:1f.2 to 64
ata1: SATA max UDMA/133 cmd 0x2148 ctl 0x217E bmdma 0x2110 irq 19
ata2: SATA max UDMA/133 cmd 0x2140 ctl 0x217A bmdma 0x2118 irq 19
scsi0 : ata_piix
ata1.00: ATA-7, max UDMA/133, 976773168 sectors: LBA48 NCQ (depth 0/32)
ata1.00: ata1: dev 0 multi count 16
ata1.00: configured for UDMA/133
scsi1 : ata_piix
ata2.00: ATAPI, max UDMA/66
ata2.00: configured for UDMA/66
scsi 0:0:0:0: Direct-Access ATA WDC WD5000YS-01M 07.0 PQ: 0 ANSI: 5
SCSI device sda: 976773168 512-byte hdwr sectors (500108 MB)
sda: Write Protect is off
sda: Mode Sense: 00 3a 00 00
SCSI device sda: drive cache: write back
SCSI device sda: 976773168 512-byte hdwr sectors (500108 MB)
sda: Write Protect is off
sda: Mode Sense: 00 3a 00 00
SCSI device sda: drive cache: write back
sda: sda1 sda2
sd 0:0:0:0: Attached scsi disk sda
sd 0:0:0:0: Attached scsi generic sg0 type 0
scsi 1:0:0:0: CD-ROM PLEXTOR DVDR PX-755A 1.04 PQ: 0 ANSI: 5
sr0: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.20
sr 1:0:0:0: Attached scsi CD-ROM sr0
sr 1:0:0:0: Attached scsi generic sg1 type 5
ata_piix 0000:00:1f.5: MAP [ P0 P2 P1 P3 ]
ACPI: PCI Interrupt 0000:00:1f.5[A] -> GSI 19 (level, low) -> IRQ 19
PCI: Setting latency timer of device 0000:00:1f.5 to 64
ata3: SATA max UDMA/133 cmd 0x2138 ctl 0x2176 bmdma 0x20F0 irq 19
ata4: SATA max UDMA/133 cmd 0x2130 ctl 0x2172 bmdma 0x20F8 irq 19
scsi2 : ata_piix
ATA: abnormal status 0x7F on port 0x213F
scsi3 : ata_piix
ATA: abnormal status 0x7F on port 0x2137
Problem starts:
ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata1.00: (BMDMA stat 0x21)
ata1.00: tag 0 cmd 0xca Emask 0x4 stat 0x40 err 0x0 (timeout)
ata1: port is slow to respond, please be patient (Status 0xd0)
ata1: port failed to respond (30 secs, Status 0xd0)
ata1: soft resetting port
ATA: abnormal status 0xD0 on port 0x214F
ATA: abnormal status 0xD0 on port 0x214F
ATA: abnormal status 0xD0 on port 0x214F
ATA: abnormal status 0xD0 on port 0x214F
ata1.00: qc timeout (cmd 0xec)
ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
ata1.00: revalidation failed (errno=-5)
ata1: failed to recover some devices, retrying in 5 secs
ata1: port is slow to respond, please be patient (Status 0xd0)
ata1: port failed to respond (30 secs, Status 0xd0)
ata1: soft resetting port
ATA: abnormal status 0xD0 on port 0x214F
ATA: abnormal status 0xD0 on port 0x214F
ATA: abnormal status 0xD0 on port 0x214F
ATA: abnormal status 0xD0 on port 0x214F
ata1.00: qc timeout (cmd 0xec)
ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
ata1.00: revalidation failed (errno=-5)
ata1: failed to recover some devices, retrying in 5 secs
ata1: port is slow to respond, please be patient (Status 0xd0)
ata1: port failed to respond (30 secs, Status 0xd0)
ata1: soft resetting port
ATA: abnormal status 0xD0 on port 0x214F
ATA: abnormal status 0xD0 on port 0x214F
ATA: abnormal status 0xD0 on port 0x214F
ATA: abnormal status 0xD0 on port 0x214F
ata1.00: qc timeout (cmd 0xec)
ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
ata1.00: revalidation failed (errno=-5)
ata1.00: disabled
ata1: EH complete
And then it goes all downhill from there - the machine is toast:
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 335093
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 896217445
Buffer I/O error on device dm-0, logical block 112001027
lost page write due to I/O error on dm-0
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 221400325
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 221400325
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 221400325
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 421212525
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52625475, block=52625412
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 896217485
Buffer I/O error on device dm-0, logical block 112001032
lost page write due to I/O error on dm-0
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 896217501
Buffer I/O error on device dm-0, logical block 112001034
lost page write due to I/O error on dm-0
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 209229
Buffer I/O error on device dm-0, logical block 0
lost page write due to I/O error on dm-0
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 335117
Buffer I/O error on device dm-0, logical block 15736
lost page write due to I/O error on dm-0
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 437255077
Buffer I/O error on device dm-0, logical block 54630731
lost page write due to I/O error on dm-0
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 437255085
Buffer I/O error on device dm-0, logical block 54630732
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 54630733
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 54630734
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 54630735
lost page write due to I/O error on dm-0
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 437255157
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 437255221
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 437255381
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 437269949
Aborting journal on device dm-0.
EXT3-fs error (device dm-0) in ext3_reserve_inode_write: Journal has aborted
ext3_abort called.
EXT3-fs error (device dm-0): ext3_journal_start_sb: Detected aborted journal
Remounting filesystem read-only
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 437270109
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 437270229
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 437270245
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 437496517
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438170837
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438170941
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438235885
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438235981
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438236021
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438236045
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438236077
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438236141
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438242893
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438246285
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438249165
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438250517
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438286605
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438286861
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438286885
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438286917
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438286933
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438289381
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438290421
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438290653
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438290685
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438290717
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438290765
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438291717
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438291773
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438291797
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438296973
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438709949
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 640245117
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 209229
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 247935325
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=30965782, block=30965762
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 208613733
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=26050605, block=26050563
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 422785389
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52822081, block=52822020
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 424358245
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=53018686, block=53018627
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 421212525
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52625477, block=52625412
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 247935325
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=30965784, block=30965762
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 208613733
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=26050607, block=26050563
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 223968533
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 422785389
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52822083, block=52822020
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 424358245
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=53018688, block=53018627
EXT3-fs error (device dm-0) in ext3_reserve_inode_write: Journal has aborted
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 435077853
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438236021
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438249165
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438296973
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 223968533
__journal_remove_journal_head: freeing b_committed_data
__journal_remove_journal_head: freeing b_committed_data
__journal_remove_journal_head: freeing b_committed_data
__journal_remove_journal_head: freeing b_committed_data
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 223968533
journal commit I/O error
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 421212525
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52625479, block=52625412
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 208613733
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=26050608, block=26050563
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 422785389
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52822085, block=52822020
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 424358253
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=53018690, block=53018628
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 232730981
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=29065261, block=29065219
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 193409381
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=24150055, block=24150019
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 421212525
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52625481, block=52625412
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 247935325
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=30965785, block=30965762
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 208613733
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=26050610, block=26050563
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 422785389
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52822087, block=52822020
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 424358253
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=53018692, block=53018628
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 221082957
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 221082957
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 221082957
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 421212525
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52625482, block=52625412
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 247935325
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=30965786, block=30965762
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 208613733
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=26050611, block=26050563
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 422785389
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52822088, block=52822020
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 424358253
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=53018693, block=53018628
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 232730981
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=29065262, block=29065219
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 193409381
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=24150056, block=24150019
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 421212525
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52625484, block=52625412
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 247935325
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=30965787, block=30965762
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 208613733
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=26050613, block=26050563
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 422785389
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52822090, block=52822020
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 424358253
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=53018695, block=53018628
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 421212525
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52625485, block=52625412
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 208613733
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=26050614, block=26050563
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 422785389
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52822091, block=52822020
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 424358253
EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=53018696, block=53018628
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 222476325
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 222476325
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 222476325
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 220006069
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 220006069
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 220006069
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218847341
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218847341
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 223939293
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 223939293
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 223939293
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 223968533
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 223968533
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 223968533
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 223968533
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 209229
printk: 141 messages suppressed.
Buffer I/O error on device dm-0, logical block 0
lost page write due to I/O error on dm-0
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 209341
Buffer I/O error on device dm-0, logical block 14
lost page write due to I/O error on dm-0
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 209429
Buffer I/O error on device dm-0, logical block 25
lost page write due to I/O error on dm-0
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218838829
Buffer I/O error on device dm-0, logical block 27328700
lost page write due to I/O error on dm-0
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218838957
Buffer I/O error on device dm-0, logical block 27328716
lost page write due to I/O error on dm-0
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218839021
Buffer I/O error on device dm-0, logical block 27328724
lost page write due to I/O error on dm-0
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218839133
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218839173
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218839229
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218839261
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218839317
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218839341
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218839365
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218840301
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218840349
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218840453
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218840501
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218841173
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218842141
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218842877
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218842901
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218843021
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218843045
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218844933
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218844949
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218844965
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218844997
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218845045
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 218845141
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 219624301
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 219624381
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 219625901
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 219625957
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 219626005
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 219626421
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 219626485
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 220149909
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 220673461
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 220673485
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 220673525
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 220673733
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 221196965
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 221722813
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 221722845
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 222245285
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 222247365
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 223818765
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 223818965
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 434844005
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 434844397
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 436680901
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 437203277
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 437203437
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 437203477
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 437236053
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 437255213
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 437270237
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 437727581
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 437989709
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438170933
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438235669
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438251925
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 438939997
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 454766925
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 553070941
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 553070973
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 553071005
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 640102773
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 640102965
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 640102997
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 830681421
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 830927181
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 896217437
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 896217597
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 896217645
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 896217885
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 220252173
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 220252253
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 220252277
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 220252173
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 220252173
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 830927181
EXT3-fs error (device dm-0): ext3_find_entry: reading directory #103809025 offset 0
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 221816517
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 221816589
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 221816629
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 221816653
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 221816677
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 221816629
sd 0:0:0:0: SCSI error: return code = 0x00040000
end_request: I/O error, dev sda, sector 221816629
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-28 17:31 ` Scary Intel SATA problem: "frozen" Linus Torvalds
@ 2006-11-28 17:37 ` Mark Lord
2006-11-28 17:55 ` Sergei Shtylyov
2006-11-29 1:12 ` Tejun Heo
2006-11-28 18:05 ` Alan
` (2 subsequent siblings)
3 siblings, 2 replies; 26+ messages in thread
From: Mark Lord @ 2006-11-28 17:37 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Jeff Garzik, Andrew Morton, linux-ide, Tejun Heo
Linus Torvalds wrote:
> [ You may or may not have gotten my previous email. The kernel stayed
> working, but due to the IO errors the filesystem got re-mounted
> read-only, and I'm not sure that the email I sent out in that state
> actually ever made it out. I suspect it didn't. ]
>
> Jeff,
> I just had a scary thing on my nice new Intel i965 box (all Intel
> chipsets apart from some strange Marvell IDE interface that I'm not using
> and that no driver even detected, and a TI firewire thing that I'm
> similarly not using).
>
> The machine basically froze for about a minute or so (well, things worked
> surprisingly well, considering that apparently no disk IO happened - I
> initially thought it was just firefox that had frozen up, since my mail
> session seemed to be fine), and after it came back the filesystem was
> mounted read-only and nothing really worked any more..
>
> I have no idea what status 0xD0 means: it looks like ATA_BUSY + ATA_DRDY +
> "bit#4", but what is bit#4?
Bit #4, when actually implemented, is a rotational seek indicator,
which can be used for timing purposes.
But when BUSY (bit #7) is set, the rest are generally nonsense.
> And clearly, the soft-reset isn't doing squat.
Tejun ?
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-28 17:37 ` Mark Lord
@ 2006-11-28 17:55 ` Sergei Shtylyov
2006-11-28 20:12 ` Eric D. Mudama
2006-11-29 1:12 ` Tejun Heo
1 sibling, 1 reply; 26+ messages in thread
From: Sergei Shtylyov @ 2006-11-28 17:55 UTC (permalink / raw)
To: Mark Lord; +Cc: Jeff Garzik, linux-ide, Tejun Heo
Hello.
Mark Lord wrote:
> Bit #4, when actually implemented, is a rotational seek indicator,
> which can be used for timing purposes.
Hm, I thought it was DSC (drive seek complete) set by the SEEK command
completion, and it's always implemented. Didn't you mean IDX (bit 1, IIRC)?
> But when BUSY (bit #7) is set, the rest are generally nonsense.
Indeed...
WBR, Sergei
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-28 17:31 ` Scary Intel SATA problem: "frozen" Linus Torvalds
2006-11-28 17:37 ` Mark Lord
@ 2006-11-28 18:05 ` Alan
2006-11-28 18:33 ` Linus Torvalds
2006-11-28 21:03 ` Jeff Garzik
2006-11-28 22:18 ` Jeff Garzik
3 siblings, 1 reply; 26+ messages in thread
From: Alan @ 2006-11-28 18:05 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Jeff Garzik, Andrew Morton, linux-ide
On Tue, 28 Nov 2006 09:31:51 -0800 (PST)
Linus Torvalds <torvalds@osdl.org> wrote:
> I just had a scary thing on my nice new Intel i965 box (all Intel
> chipsets apart from some strange Marvell IDE interface that I'm not using
> and that no driver even detected, and a TI firewire thing that I'm
Mr Morton has the Marvell libata driver in his tree waiting to head your
way.
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-28 18:05 ` Alan
@ 2006-11-28 18:33 ` Linus Torvalds
0 siblings, 0 replies; 26+ messages in thread
From: Linus Torvalds @ 2006-11-28 18:33 UTC (permalink / raw)
To: Alan; +Cc: Jeff Garzik, Andrew Morton, linux-ide
On Tue, 28 Nov 2006, Alan wrote:
>
> On Tue, 28 Nov 2006 09:31:51 -0800 (PST)
> Linus Torvalds <torvalds@osdl.org> wrote:
>
> > I just had a scary thing on my nice new Intel i965 box (all Intel
> > chipsets apart from some strange Marvell IDE interface that I'm not using
> > and that no driver even detected, and a TI firewire thing that I'm
>
> Mr Morton has the Marvell libata driver in his tree waiting to head your
> way.
Well, I don't actually personally want it (I have nothing connected to it,
nor any intention of connecting anything in the future), I just want my
bog-standard PIIX driver to not do the scary things to me.
"Mommy, mommy, the IDE messages/behaviour is scaring me!"
I just mentioned the Marvell chip because apart from those two (unused)
chips, the box is absolutely and utterly bog-standard Intel-everything.
The i965 may still be somewhat unusual right now, but that's going to
change, and if there's something strange going on, we should try to fix it
asap.
It could be a one-off thing (knock wood), but on the other hand, I've only
been using this machine for a couple of weeks now, and I can't remember
seeing anything even remotely similar on my other machines (including the
earlier-generation i945 SATA setup that I've had a lot longer). So I worry
that it's something i965-specific, and that will be a _very_ common
chipset soon enough.
One data-point that may or may not be relevant: the afore-mentioned i945
machine that I've had longer is otherwise reasonably similar, but the DVD
drive on that one is in legacy mode. Not that I see why it should matter
(the problem happened on the harddisk, not the DVD)...
Linus
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-28 17:55 ` Sergei Shtylyov
@ 2006-11-28 20:12 ` Eric D. Mudama
2006-11-28 20:36 ` Sergei Shtylyov
0 siblings, 1 reply; 26+ messages in thread
From: Eric D. Mudama @ 2006-11-28 20:12 UTC (permalink / raw)
To: Sergei Shtylyov; +Cc: Mark Lord, Jeff Garzik, linux-ide, Tejun Heo
On 11/28/06, Sergei Shtylyov <sshtylyov@ru.mvista.com> wrote:
> Hello.
>
> Mark Lord wrote:
>
> > Bit #4, when actually implemented, is a rotational seek indicator,
> > which can be used for timing purposes.
>
> Hm, I thought it was DSC (drive seek complete) set by the SEEK command
> completion, and it's always implemented. Didn't you mean IDX (bit 1, IIRC)?
0x50 is the standard, non queueing "device is ready" status. It used
to have those special meanings, but they're pretty obsolete today as I
understand it.
0x40 is used for queueing, because bit 4 was the service bit for PATA TCQ.
> > But when BUSY (bit #7) is set, the rest are generally nonsense.
>
> Indeed...
>
> WBR, Sergei
Typically, 0x80 as the busy state indicates the device is in POR
reset. Once the firmware is up and running in the device, it often
switches from 0x80 to 0xD0 during POR.
0xD0 is the busy state you'd get to if you were 0x50 and received a
command, so this is reported typically after the device is up and
running.
0x7F usually is hardware indicating nothing is attached to the port,
and isn't supposed to infer a non-busy state.
You're right, while not meaningful according to spec, you can derive
some information from the reported status even when you're only
supposed to look at one bit.
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-28 20:12 ` Eric D. Mudama
@ 2006-11-28 20:36 ` Sergei Shtylyov
0 siblings, 0 replies; 26+ messages in thread
From: Sergei Shtylyov @ 2006-11-28 20:36 UTC (permalink / raw)
To: Eric D. Mudama; +Cc: Mark Lord, Jeff Garzik, linux-ide, Tejun Heo
Hello.
Eric D. Mudama wrote:
>> > Bit #4, when actually implemented, is a rotational seek indicator,
>> > which can be used for timing purposes.
>> Hm, I thought it was DSC (drive seek complete) set by the SEEK
>> command
>> completion, and it's always implemented. Didn't you mean IDX (bit 1,
>> IIRC)?
> 0x50 is the standard, non queueing "device is ready" status. It used
> to have those special meanings, but they're pretty obsolete today as I
> understand it.
Erm, some status bits maybe obsolete but I've never heard that the status
*values* were specified to mean anything special anywhere...
> 0x40 is used for queueing, because bit 4 was the service bit for PATA TCQ.
I know. This meaning (SERVICE) actualy came from ATAPI
>> > But when BUSY (bit #7) is set, the rest are generally nonsense.
>> Indeed...
>> WBR, Sergei
> Typically, 0x80 as the busy state indicates the device is in POR
> reset. Once the firmware is up and running in the device, it often
> switches from 0x80 to 0xD0 during POR.
Oh, I guess it's completely up to the disk makers what other status to
show with BSY=1.
> 0xD0 is the busy state you'd get to if you were 0x50 and received a
> command, so this is reported typically after the device is up and
> running.
> 0x7F usually is hardware indicating nothing is attached to the port,
> and isn't supposed to infer a non-busy state.
Ha, *never* seen that one. It's has always been 0xFF since PC people
didn't ever bother themselves with silly pulldowns. :-)
> You're right, while not meaningful according to spec, you can derive
> some information from the reported status even when you're only
> supposed to look at one bit.
Well, to some extent...
WBR, Sergei
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-28 17:31 ` Scary Intel SATA problem: "frozen" Linus Torvalds
2006-11-28 17:37 ` Mark Lord
2006-11-28 18:05 ` Alan
@ 2006-11-28 21:03 ` Jeff Garzik
2006-11-28 21:45 ` Linus Torvalds
2006-11-28 22:18 ` Jeff Garzik
3 siblings, 1 reply; 26+ messages in thread
From: Jeff Garzik @ 2006-11-28 21:03 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Andrew Morton, linux-ide
Linus Torvalds wrote:
> [ You may or may not have gotten my previous email. The kernel stayed
> working, but due to the IO errors the filesystem got re-mounted
> read-only, and I'm not sure that the email I sent out in that state
> actually ever made it out. I suspect it didn't. ]
>
> Jeff,
> I just had a scary thing on my nice new Intel i965 box (all Intel
> chipsets apart from some strange Marvell IDE interface that I'm not using
> and that no driver even detected, and a TI firewire thing that I'm
> similarly not using).
Does jgarzik/libata-dev.git#upstream (don't pull, just test) work for you?
Or -mm, which includes #upstream?
I'm pretty sure this is already fixed, by the polling IDENTIFY for
ata_piix patchset.
Jeff
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-28 21:03 ` Jeff Garzik
@ 2006-11-28 21:45 ` Linus Torvalds
0 siblings, 0 replies; 26+ messages in thread
From: Linus Torvalds @ 2006-11-28 21:45 UTC (permalink / raw)
To: Jeff Garzik; +Cc: Andrew Morton, linux-ide
On Tue, 28 Nov 2006, Jeff Garzik wrote:
>
> Does jgarzik/libata-dev.git#upstream (don't pull, just test) work for you?
Well, since I can't really test, I don't know. This problem has happened
just once in the couple of weeks I've used that machine, and I wasn't even
doing anything strange when it triggered (no heavy IO, no special
programs, no nothing - I was literally just reading email and I think
trying to browse over to news.com or something..)
So I was more hoping that you'd say that it's a known issue, and already
fixed, or that the status bits would give you some clue and make you say
"Ahh, we don't handle that case". I have nothing to "test". The thing
seems to work, and I have no known way to trigger the problem...
> I'm pretty sure this is already fixed, by the polling IDENTIFY for ata_piix
> patchset.
Hmm. That sounds like it should just affect the bootup identification,
which has always worked fine for me. Would it fix the softreset too?
Anyway, I can certainly try yout current "upstream" branch, but as
mentioned, the standard kernel works fine for me generally, so I don't
really know what I can offer (except if "upstream" simply doesn't work at
all, in which case I'll certainly let you know ;)
Linus
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-28 17:31 ` Scary Intel SATA problem: "frozen" Linus Torvalds
` (2 preceding siblings ...)
2006-11-28 21:03 ` Jeff Garzik
@ 2006-11-28 22:18 ` Jeff Garzik
3 siblings, 0 replies; 26+ messages in thread
From: Jeff Garzik @ 2006-11-28 22:18 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Andrew Morton, linux-ide
And FWIW, "frozen" in this context means that Tejun's libata error
handling code has take ownership of the ATA port, after stopping all
outstanding I/O transactions.
So when you see that, that's libata EH kicking in.
Jeff
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
@ 2006-11-28 22:24 Jonas Lundgren
2006-11-28 22:59 ` Linus Torvalds
2006-11-29 0:57 ` Tejun Heo
0 siblings, 2 replies; 26+ messages in thread
From: Jonas Lundgren @ 2006-11-28 22:24 UTC (permalink / raw)
To: torvalds; +Cc: linux-ide
I've been monitoring the linux-ide list to try and find a solution to my
problem with my intel box (i965) and SATA disks.. I sent a mail to the
maintainer of the ata_piix driver and cc'd the linux-ide ML, but go no
responses. I'm not used to mail to ML's, so please excuse me if I did
something wrong with the reply of this mail/CC'ing the wrong persons etc. :)
Here's what I wrote in my last mail to linux-ide:
I've got some big performance related problem with my Abit AB9 pro mobo,
the ICH8 controller and my SATA disks.. I've got 2 64GB WD raptor disks
in a raid0(These are the disks I have used dd/hdparm on in the commands
below), and a 2x250GB WD disk raid0, and I used to get around
130-140mb/sec seq write with them, but now with my new mobo I'm lucky if
I get 10mb/sec. During heavy disk activity the system locks up, until
the write is completed (Ie, no other read or write is being made, it's
like heavy IO completely starves all other processes until it's finished)..
Running 2.6.19-rc5-mm2 atm, but I've tried a few diffrent kernels, same
thing.
Also, it doesn't matter if I enable AHCI in the BIOS (But with AHCI
enabled the disks spin down/power down when I boot, just to power up
again a few seconds after. The boot progress freezes until the disks
have spun up again. (This happens when the kernel probes the sata
controller ports at bootup, the disks spin down at the same time, but
spin up one by one as they're getting probed))
I've tried changing I/O scheduler, only noticable diffrence is when I
use "noop". Then I get like 20mb/sec write instead of 4mb/sec. I have no
idea why this is :P
Example of what I mean with crappy performance:
dd if=/dev/zero of=test232 bs=1M count=100; time sync
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.130424 s, 804 MB/s
real 0m21.104s
user 0m0.000s
sys 0m0.011s
21 seconds to do a seq write of 100mb.. And during this time ALL other
disk IO gets starved, I can't do anything that uses disk IO for the
duration.. (not even `ls`)
Yet, a hdparm shows a decent read
hdparm -tT /dev/md4
/dev/md4:
Timing cached reads: 8060 MB in 1.99 seconds = 4042.19 MB/sec
Timing buffered disk reads: 400 MB in 3.00 seconds = 133.28 MB/sec
dd if=1GBzeroFile of=/dev/null bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 11.4335 s, 91.7 MB/s
This is the cpu usage stats I get from top when running the dd write:
Cpu0 : 0.0%us, 0.0%sy, 0.0%ni, 0.0%id, 99.0%wa, 0.5%hi, 0.5%si, 0.0%st
Cpu1 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Pretty crappy read speeds compared to what I got on my previous mobo
(around 140mb/sec), but still alot better than the 4mb/sec I get when
writing..
I've also googled this for many hours, I've searched the lkml, checked
the gentoo forums, as well as other distro forums, I just don't know
what else to do. I'll appreciate any help or hints I can get.
Dmesg output from the error(s): (sda and sdb are 2 * 74GB raptor SATA
drives in a Linux software raid0)
ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata1.00: (BMDMA stat 0x20)
ata1.00: tag 0 cmd 0xca Emask 0x4 stat 0x40 err 0x0 (timeout)
ata1: port is slow to respond, please be patient
ata1: port failed to respond (30 secs)
ata1: soft resetting port
ATA: abnormal status 0xD0 on port 0xFA07
ATA: abnormal status 0xD0 on port 0xFA07
ATA: abnormal status 0xD0 on port 0xFA07
ATA: abnormal status 0xD0 on port 0xFA07
ATA: abnormal status 0xD0 on port 0xFA07
ATA: abnormal status 0xD0 on port 0xFA07
ata1.00: qc timeout (cmd 0xec)
ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
ata1.00: revalidation failed (errno=-5)
ata1: failed to recover some devices, retrying in 5 secs
ata1: soft resetting port
ata1.00: configured for UDMA/100
ata1: EH complete
SCSI device sda: 145226112 512-byte hdwr sectors (74356 MB)
sda: Write Protect is off
sda: Mode Sense: 00 3a 00 00
SCSI device sda: drive cache: write back
ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata1.00: (BMDMA stat 0x21)
ata1.00: tag 0 cmd 0xc8 Emask 0x4 stat 0x40 err 0x0 (timeout)
ata1: port is slow to respond, please be patient
ata1: port failed to respond (30 secs)
ata1: soft resetting port
ata1.00: configured for UDMA/100
ata1: EH complete
SCSI device sda: 145226112 512-byte hdwr sectors (74356 MB)
sda: Write Protect is off
sda: Mode Sense: 00 3a 00 00
SCSI device sda: drive cache: write back
ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata1.00: (BMDMA stat 0x21)
ata1.00: tag 0 cmd 0xc8 Emask 0x4 stat 0x40 err 0x0 (timeout)
ata1: port is slow to respond, please be patient
ata1: port failed to respond (30 secs)
ata1: soft resetting port
ATA: abnormal status 0xD0 on port 0xFA07
ATA: abnormal status 0xD0 on port 0xFA07
ATA: abnormal status 0xD0 on port 0xFA07
ATA: abnormal status 0xD0 on port 0xFA07
ATA: abnormal status 0xD0 on port 0xFA07
ATA: abnormal status 0xD0 on port 0xFA07
ata1.00: failed to IDENTIFY (I/O error, err_mask=0x2)
ata1.00: revalidation failed (errno=-5)
ata1: failed to recover some devices, retrying in 5 secs
ata1: soft resetting port
ata1.00: configured for UDMA/100
ata1: EH complete
SCSI device sda: 145226112 512-byte hdwr sectors (74356 MB)
sda: Write Protect is off
sda: Mode Sense: 00 3a 00 00
SCSI device sda: drive cache: write back
Most of the time when I get these errors the system will recover after
anything from 10 seconds to 10 minutes of unresponsiveness (no disk
I/O), and sometimes hang. IF the system does recover, I start getting
the extremly low disk write speeds that I reported above, and only a
reboot will get the performance back to regular.
I don't know what causes it, but most of the times when I've gotten it
my system has been under heavy load (compiling, downloading torrents in
11mb/sec etc). Please let me know if you want any additional info, want
me to try something out, or whatever. My recent hardware upgrade for
around $1200 (to a core2duo system, i965 mobo) is just going to waste
because of this problem. :/
I just got so glad when I saw the post of this on linux-ide, I've been
searching like crazy to find another person having the same problem (and
possibly a solution) for the past 2-3 weeks or so.
--
-Jonas
Name: Jonas Lundgren
ICQ#: 52064961
IRC: neon / neonman @ EFnet, Undernet, Quakenet, freenode
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-28 22:24 Scary Intel SATA problem: "frozen" Jonas Lundgren
@ 2006-11-28 22:59 ` Linus Torvalds
2006-11-28 23:22 ` Jeff Garzik
2006-11-29 0:57 ` Tejun Heo
1 sibling, 1 reply; 26+ messages in thread
From: Linus Torvalds @ 2006-11-28 22:59 UTC (permalink / raw)
To: Jonas Lundgren, Jeff Garzik, Tejun Heo; +Cc: linux-ide
On Tue, 28 Nov 2006, Jonas Lundgren wrote:
>
> Example of what I mean with crappy performance:
> dd if=/dev/zero of=test232 bs=1M count=100; time sync
> 100+0 records in
> 100+0 records out
> 104857600 bytes (105 MB) copied, 0.130424 s, 804 MB/s
> real 0m21.104s
Ok, that's definitely not the same thing I see.
I get
real 0m2.673s
for the "time sync" part of your example, so the chipset can definitely do
better than your 4-5 MB/s.
And your read performance seems fine. Strange.
I suspect it's related to your RAID usage. I've only got a single disk in
my system. Maybe there is something problematic in sending commands to
alternating SATA ports on the same controller with the i965 thing?
The "switching between SATA ports" thing migt actually be a clue, because
while I've had this thing for a few weeks, I only used the DVD drive for
the first time the day before yesterday, and didn't actually even have the
SCSI CD-ROM support compiled in until then (copied a config from another
machine that had the DVD-rom on the legacy side, so it used the more
common IDE-CD thing).
So maybe these _are_ related somehow, and my problem showed up because I
actually had concurrent access to my DVD drive (some KDE media daemon
checking to see if I inserted a music CD or something?). Jeff, Tejun, is
there any reason to believe that the two channels on a PIIX ata controller
are somehow "tied together" and it could be problematic for concurrent
accesses?
Jonas definitely has the same error messages:
> Dmesg output from the error(s): (sda and sdb are 2 * 74GB raptor SATA
> drives in a Linux software raid0)
>
> ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
> ata1.00: (BMDMA stat 0x20)
> ata1.00: tag 0 cmd 0xca Emask 0x4 stat 0x40 err 0x0 (timeout)
> ata1: port is slow to respond, please be patient
> ata1: port failed to respond (30 secs)
> ata1: soft resetting port
> ATA: abnormal status 0xD0 on port 0xFA07
> ATA: abnormal status 0xD0 on port 0xFA07
> ATA: abnormal status 0xD0 on port 0xFA07
> ATA: abnormal status 0xD0 on port 0xFA07
> ATA: abnormal status 0xD0 on port 0xFA07
> ATA: abnormal status 0xD0 on port 0xFA07
That all looks exactly like mine did.
Except:
> ata1: EH complete
> SCSI device sda: 145226112 512-byte hdwr sectors (74356 MB)
> sda: Write Protect is off
> sda: Mode Sense: 00 3a 00 00
> SCSI device sda: drive cache: write back
Jonas' disks came back.
So while Jonas' behaviour/problems otherwise don't seem to match mine at
all, there might be some underlying commonality..
Linus
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-28 22:59 ` Linus Torvalds
@ 2006-11-28 23:22 ` Jeff Garzik
2006-11-28 23:43 ` Linus Torvalds
0 siblings, 1 reply; 26+ messages in thread
From: Jeff Garzik @ 2006-11-28 23:22 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Jonas Lundgren, Tejun Heo, linux-ide
Linus Torvalds wrote:
> So maybe these _are_ related somehow, and my problem showed up because I
> actually had concurrent access to my DVD drive (some KDE media daemon
> checking to see if I inserted a music CD or something?). Jeff, Tejun, is
> there any reason to believe that the two channels on a PIIX ata controller
> are somehow "tied together" and it could be problematic for concurrent
> accesses?
I was sorta wondering in that direction too. If its in legacy mode
(PATA and SATA smushed together), that's a possibility. But native or
AHCI modes, the channels are pretty independent (which is the nature of
SATA).
Historical note: ata_piix is IMO more complicated than ahci, because
the silicon is emulating the PATA interface using an internal (probably
huge) state machine, converting PATA behavior to sending/receiving SATA
packets. There are classes of problems that just don't exist on ahci,
simply because we can directly talk to the sata phy, rather than having
to guess what the emulation state machine is doing.
Jeff
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-28 23:22 ` Jeff Garzik
@ 2006-11-28 23:43 ` Linus Torvalds
2006-11-29 0:38 ` Jeff Garzik
2006-11-29 2:51 ` Mark Lord
0 siblings, 2 replies; 26+ messages in thread
From: Linus Torvalds @ 2006-11-28 23:43 UTC (permalink / raw)
To: Jeff Garzik; +Cc: Jonas Lundgren, Tejun Heo, linux-ide
On Tue, 28 Nov 2006, Jeff Garzik wrote:
>
> I was sorta wondering in that direction too. If its in legacy mode (PATA and
> SATA smushed together), that's a possibility. But native or AHCI modes, the
> channels are pretty independent (which is the nature of SATA).
Well, what I was more wondering about is whether perhaps the legacy mode
emulation - even when it isn't actually used - means that there is simply
some shared state (read: chipset bug that nobody noticed).
> Historical note: ata_piix is IMO more complicated than ahci, because the
> silicon is emulating the PATA interface using an internal (probably huge)
> state machine, converting PATA behavior to sending/receiving SATA packets.
Well, there's bound to be the same big state machine working the other
way, and maybe the chip simply internally gets confused. Or, as you say,
simply because the emulation state machinery has to be taken into account,
and _that_ ends up beign shared between the two otherwise independent
channels..
How hard would it be to just force a shared spinlock between two sata
channels on the same "controller"? It sounds like Jonas has a very
repeatable setup, so even if I can't repeat my problem, if the performance
degradation on writes is related, he can check his thing..
Linus
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-28 23:43 ` Linus Torvalds
@ 2006-11-29 0:38 ` Jeff Garzik
2006-11-29 0:51 ` Linus Torvalds
2006-11-29 2:51 ` Mark Lord
1 sibling, 1 reply; 26+ messages in thread
From: Jeff Garzik @ 2006-11-29 0:38 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Jonas Lundgren, Tejun Heo, linux-ide
Linus Torvalds wrote:
> How hard would it be to just force a shared spinlock between two sata
> channels on the same "controller"? It sounds like Jonas has a very
> repeatable setup, so even if I can't repeat my problem, if the performance
> degradation on writes is related, he can check his thing..
ap->host (struct ata_host) already has a spinlock for precisely just
that... :)
Jeff
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-29 0:38 ` Jeff Garzik
@ 2006-11-29 0:51 ` Linus Torvalds
0 siblings, 0 replies; 26+ messages in thread
From: Linus Torvalds @ 2006-11-29 0:51 UTC (permalink / raw)
To: Jeff Garzik; +Cc: Jonas Lundgren, Tejun Heo, linux-ide
On Tue, 28 Nov 2006, Jeff Garzik wrote:
>
> ap->host (struct ata_host) already has a spinlock for precisely just that...
> :)
Right, but do we actually take it? I'm not seing any spin_lock's in
ata_piix.c, but I don't know the SATA layers enough to say whether upper
layers take it or not..
Linus
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-28 22:24 Scary Intel SATA problem: "frozen" Jonas Lundgren
2006-11-28 22:59 ` Linus Torvalds
@ 2006-11-29 0:57 ` Tejun Heo
2006-11-29 7:14 ` Jonas Lundgren
2006-12-06 17:58 ` Jonas Lundgren
1 sibling, 2 replies; 26+ messages in thread
From: Tejun Heo @ 2006-11-29 0:57 UTC (permalink / raw)
To: jonas; +Cc: torvalds, linux-ide
Jonas Lundgren wrote:
[--snip--]
> Also, it doesn't matter if I enable AHCI in the BIOS (But with AHCI
> enabled the disks spin down/power down when I boot, just to power up
> again a few seconds after. The boot progress freezes until the disks
> have spun up again. (This happens when the kernel probes the sata
> controller ports at bootup, the disks spin down at the same time, but
> spin up one by one as they're getting probed))
Likely fix is pending for this problem.
> I've tried changing I/O scheduler, only noticable diffrence is when I
> use "noop". Then I get like 20mb/sec write instead of 4mb/sec. I have no
> idea why this is :P
>
> Example of what I mean with crappy performance:
> dd if=/dev/zero of=test232 bs=1M count=100; time sync
> 100+0 records in
> 100+0 records out
> 104857600 bytes (105 MB) copied, 0.130424 s, 804 MB/s
> real 0m21.104s
> user 0m0.000s
> sys 0m0.011s
>
> 21 seconds to do a seq write of 100mb.. And during this time ALL other
> disk IO gets starved, I can't do anything that uses disk IO for the
> duration.. (not even `ls`)
What does the kernel say during this writing? Can you post the result
of the following?
1. reboot
2. dmesg -c
3. time dd if=/dev/zero.. blah
4. dmesg
Also, does 'mount -o remount,barrier=0 /' change anything?
> Yet, a hdparm shows a decent read
> hdparm -tT /dev/md4
> /dev/md4:
> Timing cached reads: 8060 MB in 1.99 seconds = 4042.19 MB/sec
> Timing buffered disk reads: 400 MB in 3.00 seconds = 133.28 MB/sec
>
> dd if=1GBzeroFile of=/dev/null bs=1M count=1000
> 1000+0 records in
> 1000+0 records out
> 1048576000 bytes (1.0 GB) copied, 11.4335 s, 91.7 MB/s
>
> This is the cpu usage stats I get from top when running the dd write:
> Cpu0 : 0.0%us, 0.0%sy, 0.0%ni, 0.0%id, 99.0%wa, 0.5%hi, 0.5%si, 0.0%st
> Cpu1 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
>
> Pretty crappy read speeds compared to what I got on my previous mobo
> (around 140mb/sec), but still alot better than the 4mb/sec I get when
> writing..
Which controller did you use on your previous mobo? If you're using
ata_piix and hook two hard drives as primary and secondary on the same
channel, some level of performance degradation is expected. ata_piix
can only issue command to only one of the two drives at once. Is the
read performance still bad in ahci mode?
[--snip--]
> Dmesg output from the error(s): (sda and sdb are 2 * 74GB raptor SATA
> drives in a Linux software raid0)
>
> ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
> ata1.00: (BMDMA stat 0x20)
> ata1.00: tag 0 cmd 0xca Emask 0x4 stat 0x40 err 0x0 (timeout)
This might be a missed interrupt. It's a write. DMA engine is done
finishing transferring all data. Device is ready for the next command
but the interrupt has never arrived.
> ata1: port is slow to respond, please be patient
> ata1: port failed to respond (30 secs)
> ata1: soft resetting port
> ATA: abnormal status 0xD0 on port 0xFA07
> ATA: abnormal status 0xD0 on port 0xFA07
> ATA: abnormal status 0xD0 on port 0xFA07
> ATA: abnormal status 0xD0 on port 0xFA07
> ATA: abnormal status 0xD0 on port 0xFA07
> ATA: abnormal status 0xD0 on port 0xFA07
> ata1.00: qc timeout (cmd 0xec)
> ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
> ata1.00: revalidation failed (errno=-5)
> ata1: failed to recover some devices, retrying in 5 secs
But this is weird. If it were a missed interrupt, softreset should have
recovered it instantly. Something fishy is going on.
[--snip--]
> ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
> ata1.00: (BMDMA stat 0x21)
> ata1.00: tag 0 cmd 0xc8 Emask 0x4 stat 0x40 err 0x0 (timeout)
Same thing for read.
> ata1: port is slow to respond, please be patient
> ata1: port failed to respond (30 secs)
Again, pre-reset wait times out. Weird.
> ata1: soft resetting port
> ata1.00: configured for UDMA/100
> ata1: EH complete
[--snip--]
> ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
> ata1.00: (BMDMA stat 0x21)
> ata1.00: tag 0 cmd 0xc8 Emask 0x4 stat 0x40 err 0x0 (timeout)
Again, for read.
> Most of the time when I get these errors the system will recover after
> anything from 10 seconds to 10 minutes of unresponsiveness (no disk
> I/O), and sometimes hang.
Yeap, libata needs stricter timing constraints for recovery. That's
high on to-do list.
> IF the system does recover, I start getting
> the extremly low disk write speeds that I reported above, and only a
> reboot will get the performance back to regular.
Please full dmesg after your computer got really slow. I suspect libata
decided to switch to PIO mode.
> I don't know what causes it, but most of the times when I've gotten it
> my system has been under heavy load (compiling, downloading torrents in
> 11mb/sec etc). Please let me know if you want any additional info, want
> me to try something out, or whatever. My recent hardware upgrade for
> around $1200 (to a core2duo system, i965 mobo) is just going to waste
> because of this problem. :/
Heh, nice machine you got there. When you look at the dmesg, do the
error messages occur only on one of the two drives? Or are both
affected? If only one is affected,
1. swap the two. you'll probably have to dance a little bit with boot
loader but md should handle that fine once the kernel is loaded. does
the errors persist? on which device do they occur? do they follow the
drive or stay on the mobo port?
2. try different cable / port. if you change port, again, you need to
dance w/ boot loader. who's carrying the error messages with it?
3. try different power plug from different power lane.
> I just got so glad when I saw the post of this on linux-ide, I've been
> searching like crazy to find another person having the same problem (and
> possibly a solution) for the past 2-3 weeks or so.
My first guess is frequent transmission errors. Please report the test
results. Thanks.
--
tejun
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-28 17:37 ` Mark Lord
2006-11-28 17:55 ` Sergei Shtylyov
@ 2006-11-29 1:12 ` Tejun Heo
1 sibling, 0 replies; 26+ messages in thread
From: Tejun Heo @ 2006-11-29 1:12 UTC (permalink / raw)
To: Mark Lord; +Cc: Linus Torvalds, Jeff Garzik, Andrew Morton, linux-ide
Mark Lord wrote:
> Linus Torvalds wrote:
>> [ You may or may not have gotten my previous email. The kernel stayed
>> working, but due to the IO errors the filesystem got re-mounted
>> read-only, and I'm not sure that the email I sent out in that state
>> actually ever made it out. I suspect it didn't. ]
>>
>> Jeff,
>> I just had a scary thing on my nice new Intel i965 box (all Intel
>> chipsets apart from some strange Marvell IDE interface that I'm not
>> using and that no driver even detected, and a TI firewire thing that
>> I'm similarly not using).
>>
>> The machine basically froze for about a minute or so (well, things
>> worked surprisingly well, considering that apparently no disk IO
>> happened - I initially thought it was just firefox that had frozen up,
>> since my mail session seemed to be fine), and after it came back the
>> filesystem was mounted read-only and nothing really worked any more..
>>
>> I have no idea what status 0xD0 means: it looks like ATA_BUSY +
>> ATA_DRDY + "bit#4", but what is bit#4?
>
> Bit #4, when actually implemented, is a rotational seek indicator,
> which can be used for timing purposes.
>
> But when BUSY (bit #7) is set, the rest are generally nonsense.
>
>> And clearly, the soft-reset isn't doing squat.
I dunno. My first suspect is transient transmission error and yeah they
do occur from time to time even on otherwise stable setup. For example,
my machine is nvidia ck804 which has pretty weak error handling (at
least used to) and stays up 24/7 and I've seen such unrecovered
transmission error just once during last 6+ months.
My experience is that if something is weird (say, power fluctuation or
electro-magnetic interference), SATA is the first thing to give out and
that's why we need good EH w/ SATA much more than we do with PATA.
Drives (controllers too) sometimes fall into weird state after such
errors and softreset is often not enough, so we need hardreset. ICH8
can do hardreset even in ata_piix mode. I'll work on it.
Linus, I'll follow up with Jonas as his problem seems reproducible but
I'm a bit skeptical about it being a driver issue. Even w/ all its
kinks, ata_piix is just a sff IDE controller and libata has been doing
it for a long time. I would be really surprised if the driver or
controller has any such issue in the usual r/w path. AHCI should be
able to recover from most error conditions unless drive firmware is
completely stuck requiring physical power off.
--
tejun
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-28 23:43 ` Linus Torvalds
2006-11-29 0:38 ` Jeff Garzik
@ 2006-11-29 2:51 ` Mark Lord
1 sibling, 0 replies; 26+ messages in thread
From: Mark Lord @ 2006-11-29 2:51 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Jeff Garzik, Jonas Lundgren, Tejun Heo, linux-ide
> How hard would it be to just force a shared spinlock between two sata
> channels on the same "controller"? It sounds like Jonas has a very
> repeatable setup, so even if I can't repeat my problem, if the performance
> degradation on writes is related, he can check his thing..
Kinda like the "ide0=serialize" flag for the IDE subsystem, I suppose.
We certainly don't want it to be the default, as millions of ata_piix
systems already out there seem to be working just fine (not all of them
running Linux, but enough of them to extrapolate to the zillions of
identical models).
It must be something new with ICH8 that we're not doing correctly yet.
???
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-29 0:57 ` Tejun Heo
@ 2006-11-29 7:14 ` Jonas Lundgren
2006-11-29 7:29 ` Tejun Heo
2006-12-06 17:58 ` Jonas Lundgren
1 sibling, 1 reply; 26+ messages in thread
From: Jonas Lundgren @ 2006-11-29 7:14 UTC (permalink / raw)
To: Tejun Heo; +Cc: linux-ide, torvalds
Tejun Heo wrote:
> Jonas Lundgren wrote:
> [--snip--]
>> Also, it doesn't matter if I enable AHCI in the BIOS (But with AHCI
>> enabled the disks spin down/power down when I boot, just to power up
>> again a few seconds after. The boot progress freezes until the disks
>> have spun up again. (This happens when the kernel probes the sata
>> controller ports at bootup, the disks spin down at the same time, but
>> spin up one by one as they're getting probed))
>
> Likely fix is pending for this problem.
>
>> I've tried changing I/O scheduler, only noticable diffrence is when I
>> use "noop". Then I get like 20mb/sec write instead of 4mb/sec. I have no
>> idea why this is :P
>>
>> Example of what I mean with crappy performance:
>> dd if=/dev/zero of=test232 bs=1M count=100; time sync
>> 100+0 records in
>> 100+0 records out
>> 104857600 bytes (105 MB) copied, 0.130424 s, 804 MB/s
>> real 0m21.104s
>> user 0m0.000s
>> sys 0m0.011s
>>
>> 21 seconds to do a seq write of 100mb.. And during this time ALL other
>> disk IO gets starved, I can't do anything that uses disk IO for the
>> duration.. (not even `ls`)
>
> What does the kernel say during this writing? Can you post the result
> of the following?
>
> 1. reboot
> 2. dmesg -c
> 3. time dd if=/dev/zero.. blah
> 4. dmesg
>
> Also, does 'mount -o remount,barrier=0 /' change anything?
I will post this info as soon as I can "reproduce" the error.
>
>> Yet, a hdparm shows a decent read
>> hdparm -tT /dev/md4
>> /dev/md4:
>> Timing cached reads: 8060 MB in 1.99 seconds = 4042.19 MB/sec
>> Timing buffered disk reads: 400 MB in 3.00 seconds = 133.28 MB/sec
>>
>> dd if=1GBzeroFile of=/dev/null bs=1M count=1000
>> 1000+0 records in
>> 1000+0 records out
>> 1048576000 bytes (1.0 GB) copied, 11.4335 s, 91.7 MB/s
>>
>> This is the cpu usage stats I get from top when running the dd write:
>> Cpu0 : 0.0%us, 0.0%sy, 0.0%ni, 0.0%id, 99.0%wa, 0.5%hi, 0.5%si, 0.0%st
>> Cpu1 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
>>
>> Pretty crappy read speeds compared to what I got on my previous mobo
>> (around 140mb/sec), but still alot better than the 4mb/sec I get when
>> writing..
>
> Which controller did you use on your previous mobo? If you're using
> ata_piix and hook two hard drives as primary and secondary on the same
> channel, some level of performance degradation is expected. ata_piix
> can only issue command to only one of the two drives at once. Is the
> read performance still bad in ahci mode?
Atm I run the ICH8 SATA ports in AHCI mode with "IDE bus master"(To be
honest I don't really know what this option does, no info about it in
the BIOS nor the mobo manual) turned off in BIOS. The drives are
connected to port 1, 3, 6 and 8 (raptor+raptor on 1+3, and WD 250G + WD
250G (also a raid0) on ports 6+8)
>
> [--snip--]
>> Dmesg output from the error(s): (sda and sdb are 2 * 74GB raptor SATA
>> drives in a Linux software raid0)
>>
>> ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
>> ata1.00: (BMDMA stat 0x20)
>> ata1.00: tag 0 cmd 0xca Emask 0x4 stat 0x40 err 0x0 (timeout)
>
> This might be a missed interrupt. It's a write. DMA engine is done
> finishing transferring all data. Device is ready for the next command
> but the interrupt has never arrived.
>
>> ata1: port is slow to respond, please be patient
>> ata1: port failed to respond (30 secs)
>> ata1: soft resetting port
>> ATA: abnormal status 0xD0 on port 0xFA07
>> ATA: abnormal status 0xD0 on port 0xFA07
>> ATA: abnormal status 0xD0 on port 0xFA07
>> ATA: abnormal status 0xD0 on port 0xFA07
>> ATA: abnormal status 0xD0 on port 0xFA07
>> ATA: abnormal status 0xD0 on port 0xFA07
>> ata1.00: qc timeout (cmd 0xec)
>> ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
>> ata1.00: revalidation failed (errno=-5)
>> ata1: failed to recover some devices, retrying in 5 secs
>
> But this is weird. If it were a missed interrupt, softreset should have
> recovered it instantly. Something fishy is going on.
>
> [--snip--]
>> ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
>> ata1.00: (BMDMA stat 0x21)
>> ata1.00: tag 0 cmd 0xc8 Emask 0x4 stat 0x40 err 0x0 (timeout)
>
> Same thing for read.
>
>> ata1: port is slow to respond, please be patient
>> ata1: port failed to respond (30 secs)
>
> Again, pre-reset wait times out. Weird.
>
>> ata1: soft resetting port
>> ata1.00: configured for UDMA/100
>> ata1: EH complete
> [--snip--]
>> ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
>> ata1.00: (BMDMA stat 0x21)
>> ata1.00: tag 0 cmd 0xc8 Emask 0x4 stat 0x40 err 0x0 (timeout)
>
> Again, for read.
>
>> Most of the time when I get these errors the system will recover after
>> anything from 10 seconds to 10 minutes of unresponsiveness (no disk
>> I/O), and sometimes hang.
>
> Yeap, libata needs stricter timing constraints for recovery. That's
> high on to-do list.
>
>> IF the system does recover, I start getting
>> the extremly low disk write speeds that I reported above, and only a
>> reboot will get the performance back to regular.
>
> Please full dmesg after your computer got really slow. I suspect libata
> decided to switch to PIO mode.
If that's so, how come I still get good read speeds? o.O
>
>> I don't know what causes it, but most of the times when I've gotten it
>> my system has been under heavy load (compiling, downloading torrents in
>> 11mb/sec etc). Please let me know if you want any additional info, want
>> me to try something out, or whatever. My recent hardware upgrade for
>> around $1200 (to a core2duo system, i965 mobo) is just going to waste
>> because of this problem. :/
>
> Heh, nice machine you got there. When you look at the dmesg, do the
> error messages occur only on one of the two drives? Or are both
> affected? If only one is affected,
IIRC only sda is affected, and later today I'm gonna switch back to
non-AHCI mode and try to reproduce this error (This might be my
imagination, but it feels like I get the error more frequently if I
don't run the ports in AHCI mode..) so I can try out the things you've
listed here.. Would suck if there's a hardware problem with one of my
disks, but I guess it's possible.
>
> 1. swap the two. you'll probably have to dance a little bit with boot
> loader but md should handle that fine once the kernel is loaded. does
> the errors persist? on which device do they occur? do they follow the
> drive or stay on the mobo port?
(I'm running my /boot on a raid1, so switching drives should require no
reconfiguration at all :)
>
> 2. try different cable / port. if you change port, again, you need to
> dance w/ boot loader. who's carrying the error messages with it?
>
> 3. try different power plug from different power lane.
>
>> I just got so glad when I saw the post of this on linux-ide, I've been
>> searching like crazy to find another person having the same problem (and
>> possibly a solution) for the past 2-3 weeks or so.
>
> My first guess is frequent transmission errors. Please report the test
> results. Thanks.
>
I've pushing my system really hard for half an hour or so to reproduce
this problem, and I got something else (no write speed slowdown, but
some page allocation errors, no idea if this has something to do with
anything, but I'll post it anyways)
My dmesg is filled up with this:
swapper: page allocation failure. order:0, mode:0x20
[<c0143a29>] __alloc_pages+0x2ec/0x308
[<c03507a7>] tcp_v4_rcv+0x984/0x99d
[<c0159ef2>] cache_alloc_refill+0x2d0/0x507
[<c015a1a5>] __kmalloc+0x7c/0x7e
[<c031c901>] __alloc_skb+0x58/0x108
[<c026e369>] rtl8169_rx_fill+0x7b/0x140
[<c026e6ea>] rtl8169_rx_interrupt+0x2bc/0x413
[<c027069e>] rtl8169_poll+0x3f/0x20a
[<c0132fa7>] hrtimer_run_queues+0xc0/0x14b
[<c03226ef>] net_rx_action+0x79/0x106
[<c01221e4>] __do_softirq+0x73/0xd9
[<c0122281>] do_softirq+0x37/0x39
[<c01056b5>] do_IRQ+0x40/0x7b
[<c01037df>] common_interrupt+0x23/0x28
[<c01010fe>] mwait_idle_with_hints+0x39/0x3b
[<c0101118>] mwait_idle+0x18/0x1c
[<c010123b>] cpu_idle+0x64/0x79
=======================
Mem-info:
DMA per-cpu:
CPU 0: Hot: hi: 0, btch: 1 usd: 0 Cold: hi: 0, btch: 1
usd: 0
CPU 1: Hot: hi: 0, btch: 1 usd: 0 Cold: hi: 0, btch: 1
usd: 0
Normal per-cpu:
CPU 0: Hot: hi: 186, btch: 31 usd: 30 Cold: hi: 62, btch: 15
usd: 60
CPU 1: Hot: hi: 186, btch: 31 usd: 30 Cold: hi: 62, btch: 15
usd: 13
HighMem per-cpu:
CPU 0: Hot: hi: 186, btch: 31 usd: 147 Cold: hi: 62, btch: 15
usd: 49
CPU 1: Hot: hi: 186, btch: 31 usd: 174 Cold: hi: 62, btch: 15
usd: 14
Active:149205 inactive:322562 dirty:155279 writeback:8923 unstable:0
free:3019 slab:36075 mapped:52151 pagetables:808
DMA free:3520kB min:68kB low:84kB high:100kB active:0kB inactive:6684kB
present:16256kB pages_scanned:64 all_unreclaimable? no
lowmem_reserve[]: 0 873 2015
Normal free:1404kB min:3744kB low:4680kB high:5616kB active:20436kB
inactive:714124kB present:894080kB pages_scanned:45728 all_unreclaimable? no
lowmem_reserve[]: 0 0 9135
HighMem free:7152kB min:512kB low:1736kB high:2960kB active:576384kB
inactive:569440kB present:1169292kB pages_scanned:7 all_unreclaimable? no
lowmem_reserve[]: 0 0 0
DMA: 0*4kB 0*8kB 0*16kB 0*32kB 1*64kB 1*128kB 1*256kB 0*512kB 1*1024kB
1*2048kB 0*4096kB = 3520kB
Normal: 1*4kB 1*8kB 7*16kB 0*32kB 0*64kB 0*128kB 1*256kB 0*512kB
1*1024kB 0*2048kB 0*4096kB = 1404kB
HighMem: 1140*4kB 96*8kB 80*16kB 3*32kB 1*64kB 1*128kB 1*256kB 0*512kB
0*1024kB 0*2048kB 0*4096kB = 7152kB
Swap cache: add 29537, delete 19491, find 7603/9179, race 1+0
Free swap = 1704516kB
Total swap = 1767128kB
Free swap: 1704516kB
524000 pages of RAM
294624 pages of HIGHMEM
5482 reserved pages
486945 pages shared
10046 pages swap cached
155279 pages dirty
8798 pages writeback
52151 pages mapped
36075 pages slab
808 pages pagetables
printk: 892 messages suppressed.
ent:md4!: page allocation failure. order:0, mode:0x20
[<c0143a29>] __alloc_pages+0x2ec/0x308
[<c03507a7>] tcp_v4_rcv+0x984/0x99d
[<c0159ef2>] cache_alloc_refill+0x2d0/0x507
[<c015a1a5>] __kmalloc+0x7c/0x7e
[<c031c901>] __alloc_skb+0x58/0x108
[<c026e369>] rtl8169_rx_fill+0x7b/0x140
[<c026e6ea>] rtl8169_rx_interrupt+0x2bc/0x413
[<c027069e>] rtl8169_poll+0x3f/0x20a
[<c01168f9>] find_busiest_group+0x124/0x4fd
[<c0270ed7>] rtl8169_interrupt+0xce/0x22b
[<c03226ef>] net_rx_action+0x79/0x106
[<c01221e4>] __do_softirq+0x73/0xd9
[<c0122281>] do_softirq+0x37/0x39
[<c01056b5>] do_IRQ+0x40/0x7b
[<c036fc19>] __sched_text_start+0x309/0x937
[<c01037df>] common_interrupt+0x23/0x28
[<c02256ed>] _atomic_dec_and_lock+0x1d/0x80
[<c0179044>] generic_sync_sb_inodes+0xe2/0x249
[<c016f8f9>] iput+0x41/0x77
[<c01b4a8f>] put_wbq+0x13/0x21
[<c01b4c27>] entd+0x18a/0x2b8
[<c01b4a9d>] entd+0x0/0x2b8
[<c0130345>] kthread+0xcc/0xf3
[<c0130279>] kthread+0x0/0xf3
[<c01039eb>] kernel_thread_helper+0x7/0x1c
=======================
Mem-info:
DMA per-cpu:
CPU 0: Hot: hi: 0, btch: 1 usd: 0 Cold: hi: 0, btch: 1
usd: 0
CPU 1: Hot: hi: 0, btch: 1 usd: 0 Cold: hi: 0, btch: 1
usd: 0
Normal per-cpu:
CPU 0: Hot: hi: 186, btch: 31 usd: 31 Cold: hi: 62, btch: 15
usd: 53
CPU 1: Hot: hi: 186, btch: 31 usd: 30 Cold: hi: 62, btch: 15
usd: 51
HighMem per-cpu:
CPU 0: Hot: hi: 186, btch: 31 usd: 131 Cold: hi: 62, btch: 15
usd: 54
CPU 1: Hot: hi: 186, btch: 31 usd: 77 Cold: hi: 62, btch: 15
usd: 15
Active:188954 inactive:272272 dirty:147727 writeback:8547 unstable:0
free:1969 slab:47710 mapped:50495 pagetables:832
DMA free:3520kB min:68kB low:84kB high:100kB active:0kB inactive:5256kB
present:16256kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 873 2015
Normal free:1284kB min:3744kB low:4680kB high:5616kB active:23140kB
inactive:666264kB present:894080kB pages_scanned:19930 all_unreclaimable? no
lowmem_reserve[]: 0 0 9135
HighMem free:3072kB min:512kB low:1736kB high:2960kB active:732676kB
inactive:417568kB present:1169292kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0
DMA: 0*4kB 0*8kB 0*16kB 0*32kB 1*64kB 1*128kB 1*256kB 0*512kB 1*1024kB
1*2048kB 0*4096kB = 3520kB
Normal: 1*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 1*256kB 0*512kB
1*1024kB 0*2048kB 0*4096kB = 1284kB
HighMem: 172*4kB 66*8kB 18*16kB 35*32kB 1*64kB 1*128kB 1*256kB 0*512kB
0*1024kB 0*2048kB 0*4096kB = 3072kB
Swap cache: add 29623, delete 19495, find 7636/9238, race 1+0
Free swap = 1704512kB
Total swap = 1767128kB
Free swap: 1704512kB
524000 pages of RAM
294624 pages of HIGHMEM
5482 reserved pages
474337 pages shared
10128 pages swap cached
147727 pages dirty
8447 pages writeback
50495 pages mapped
47710 pages slab
832 pages pagetables
This happened after I kicked up a "dd if=/dev/mdX of=/dev/null" and "dd
if=/dev/zero of=tfile1" on both my raid0's (2 dd's per raid (1 read+1
write) per drive), started a recompile of kdelibs, and had a torrent
download running for 11mb/sec, ie pretty heavy load. (done with the
anticipatory scheduler)
I guess it could just be that the kernel couldn't read the swap in a
reasonable amount of time because of all the other disk activity, but
I'm posting it anyways, since you guys will know if it has something to
do with this or not.
ps. The system is back to stable now after those allocation errors.
--
-Jonas
Name: Jonas Lundgren
ICQ#: 52064961
Mail: jonas@local.se
IRC: neon / neonman @ EFnet, Undernet, Quakenet, freenode
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-29 7:14 ` Jonas Lundgren
@ 2006-11-29 7:29 ` Tejun Heo
2006-11-29 14:11 ` Mark Lord
2006-11-29 16:19 ` Linus Torvalds
0 siblings, 2 replies; 26+ messages in thread
From: Tejun Heo @ 2006-11-29 7:29 UTC (permalink / raw)
To: jonas; +Cc: linux-ide, torvalds
Jonas Lundgren wrote:
>> Also, does 'mount -o remount,barrier=0 /' change anything?
>
> I will post this info as soon as I can "reproduce" the error.
If it doesn't occur as soon as you boot, it's probably irrelevant.
> Atm I run the ICH8 SATA ports in AHCI mode with "IDE bus master"(To be
> honest I don't really know what this option does, no info about it in
> the BIOS nor the mobo manual) turned off in BIOS. The drives are
> connected to port 1, 3, 6 and 8 (raptor+raptor on 1+3, and WD 250G + WD
> 250G (also a raid0) on ports 6+8)
I guess that's just your mobo's way of telling that ahci mode is active.
[--snip--]
>> Please full dmesg after your computer got really slow. I suspect libata
>> decided to switch to PIO mode.
>
> If that's so, how come I still get good read speeds? o.O
Yeah, if you're still getting good read speed, PIO mode hasn't kicked in.
>>> I don't know what causes it, but most of the times when I've gotten it
>>> my system has been under heavy load (compiling, downloading torrents in
>>> 11mb/sec etc). Please let me know if you want any additional info, want
>>> me to try something out, or whatever. My recent hardware upgrade for
>>> around $1200 (to a core2duo system, i965 mobo) is just going to waste
>>> because of this problem. :/
>> Heh, nice machine you got there. When you look at the dmesg, do the
>> error messages occur only on one of the two drives? Or are both
>> affected? If only one is affected,
>
> IIRC only sda is affected, and later today I'm gonna switch back to
> non-AHCI mode and try to reproduce this error (This might be my
> imagination, but it feels like I get the error more frequently if I
> don't run the ports in AHCI mode..) so I can try out the things you've
> listed here.. Would suck if there's a hardware problem with one of my
> disks, but I guess it's possible.
Cabling/power issue is more likely than faulty hard drive, I think.
Interestingly, you're more likely to encounter insufficient power
problem if you have multi-lane power supply (most high-powered ones are
multi-lane these days) because they have less power per lane.
e.g. Single-lane 350w power supply won't have problem powering 5 drives
no matter how you connect them but if you somehow hook up five drives to
a single lane in 450w multi-lane power, you're screwed. Furthermore,
it's not always clear which cable belongs to which power lane.
>> 1. swap the two. you'll probably have to dance a little bit with boot
>> loader but md should handle that fine once the kernel is loaded. does
>> the errors persist? on which device do they occur? do they follow the
>> drive or stay on the mobo port?
>
> (I'm running my /boot on a raid1, so switching drives should require no
> reconfiguration at all :)
>
>> 2. try different cable / port. if you change port, again, you need to
>> dance w/ boot loader. who's carrying the error messages with it?
>>
>> 3. try different power plug from different power lane.
>>
>>> I just got so glad when I saw the post of this on linux-ide, I've been
>>> searching like crazy to find another person having the same problem (and
>>> possibly a solution) for the past 2-3 weeks or so.
>> My first guess is frequent transmission errors. Please report the test
>> results. Thanks.
>>
>
> I've pushing my system really hard for half an hour or so to reproduce
> this problem, and I got something else (no write speed slowdown, but
> some page allocation errors, no idea if this has something to do with
> anything, but I'll post it anyways)
You pushed your box really hard and the kernel can't get the memory it
wants. Not really relevant to SATA problem.
--
tejun
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-29 7:29 ` Tejun Heo
@ 2006-11-29 14:11 ` Mark Lord
2006-11-29 16:19 ` Linus Torvalds
1 sibling, 0 replies; 26+ messages in thread
From: Mark Lord @ 2006-11-29 14:11 UTC (permalink / raw)
To: Tejun Heo; +Cc: jonas, linux-ide, torvalds
Tejun Heo wrote:
>
> You pushed your box really hard and the kernel can't get the memory it
> wants. Not really relevant to SATA problem.
...unless the slowdown is due to extraordinarily high swap activity,
because of the low-memory situation..
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-29 7:29 ` Tejun Heo
2006-11-29 14:11 ` Mark Lord
@ 2006-11-29 16:19 ` Linus Torvalds
1 sibling, 0 replies; 26+ messages in thread
From: Linus Torvalds @ 2006-11-29 16:19 UTC (permalink / raw)
To: Tejun Heo; +Cc: jonas, linux-ide
On Wed, 29 Nov 2006, Tejun Heo wrote:
>
> You pushed your box really hard and the kernel can't get the memory it wants.
> Not really relevant to SATA problem.
And it's not even really a bug - the caller is supposed to be ok with it.
It's a warning message that the kernel spits out just because we've had
problems in the past with callers that did _not_ handle an allocation
error gracefully, so the warnign is spit out to (a) let us know something
happened and (b) if there's a subsequent oops due to dereferencing a NULL
pointer, it becomes easier to pinpoint what the sequence of events was.
So it's an atomic allocation that happens on the receive path in the
network when you've run out of pages (because you're getting enough
network traffic that earlier receives have used up all buffers, and so
much disk IO that we haven't had time to clean any new pages yet), and
getting an allocation failure there really is "normal", it's just "very
unusual".
So that particular dump _looks_ scary, but it happens to be totally a
non-issue unless something else happens afterwards to imply that the
caller had trouble with the allocation failure.
It's also a sign of trouble if you can trigger it _easily_. It should be
something that only triggers under very high load and under unusual
circumstances.
Linus
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-11-29 0:57 ` Tejun Heo
2006-11-29 7:14 ` Jonas Lundgren
@ 2006-12-06 17:58 ` Jonas Lundgren
2006-12-06 18:45 ` Andrew Lyon
2006-12-07 1:25 ` Tejun Heo
1 sibling, 2 replies; 26+ messages in thread
From: Jonas Lundgren @ 2006-12-06 17:58 UTC (permalink / raw)
To: Tejun Heo, linux-ide
Tejun Heo wrote:
[--snip--]
>> IF the system does recover, I start getting
>> the extremly low disk write speeds that I reported above, and only a
>> reboot will get the performance back to regular.
>
> Please full dmesg after your computer got really slow. I suspect libata
> decided to switch to PIO mode.
Here's the relevant part, if you want the whole dmesg look at:
http://pastebin.ca/269581
[--snip--]
[82048.255126] can't create port
[85055.578172] reiser4[unrar(30787)]: disable_write_barrier
(fs/reiser4/wander.c:234)[zam-1055]:
[85055.578174] NOTICE: md5 does not support write barriers, using
synchronous write instead.
[87825.501998] can't create port
[89520.019538] ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
frozen
[89520.019545] ata2.00: cmd c8/00:08:fe:68:df/00:00:00:00:00/e1 tag 0
data 4096 in
[89520.019547] res 40/00:00:00:00:00/00:00:00:00:00/00 Emask
0x4 (timeout)
[89520.322292] ata2: soft resetting port
[89527.515891] ata2: port is slow to respond, please be patient (Status
0xd0)
[89550.457913] ata2: port failed to respond (30 secs, Status 0xd0)
[89550.457917] ata2: softreset failed (device not ready)
[89550.457921] ata2: softreset failed, retrying in 5 secs
[89555.454103] ata2: hard resetting port
[89562.799693] ata2: port is slow to respond, please be patient (Status
0x80)
[89585.740239] ata2: port failed to respond (30 secs, Status 0x80)
[89585.740242] ata2: COMRESET failed (device not ready)
[89585.740245] ata2: hardreset failed, retrying in 5 secs
[89590.736978] ata2: hard resetting port
[89598.081854] ata2: port is slow to respond, please be patient (Status
0x80)
[89617.604742] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[89617.611034] ata2.00: configured for UDMA/100
[89617.611042] ata2: EH complete
[89617.623426] SCSI device sdb: 145226112 512-byte hdwr sectors (74356 MB)
[89617.633551] sdb: Write Protect is off
[89617.633553] sdb: Mode Sense: 00 3a 00 00
[89617.637765] SCSI device sdb: write cache: enabled, read cache:
enabled, doesn't support DPO or FUA
>
>> I don't know what causes it, but most of the times when I've gotten it
>> my system has been under heavy load (compiling, downloading torrents in
>> 11mb/sec etc). Please let me know if you want any additional info, want
>> me to try something out, or whatever. My recent hardware upgrade for
>> around $1200 (to a core2duo system, i965 mobo) is just going to waste
>> because of this problem. :/
>
> Heh, nice machine you got there. When you look at the dmesg, do the
> error messages occur only on one of the two drives? Or are both
> affected? If only one is affected,
>
> 1. swap the two. you'll probably have to dance a little bit with boot
> loader but md should handle that fine once the kernel is loaded. does
> the errors persist? on which device do they occur? do they follow the
> drive or stay on the mobo port?
It follows the drive. (Hardware problem?)
>
> 2. try different cable / port. if you change port, again, you need to
> dance w/ boot loader. who's carrying the error messages with it?
Read above.
>
> 3. try different power plug from different power lane.
I've got a really good power supply, wich can handle max 560W on the +12
/ -12 V rail alone.
>
>> I just got so glad when I saw the post of this on linux-ide, I've been
>> searching like crazy to find another person having the same problem (and
>> possibly a solution) for the past 2-3 weeks or so.
>
> My first guess is frequent transmission errors. Please report the test
> results. Thanks.
>
I guess it could only be a hardware problem since the error follows the
drive, and both the drives are identical, so it can't be a firmware
problem. Correct me if I'm wrong.
I just checked the smart status, and the drive passes, but it seems like
it's going down though, on the other hand I might misread the results.
smartctl -d ata -A /dev/sdb
smartctl version 5.36 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE
UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 200 200 051 Pre-fail Always
- 0
3 Spin_Up_Time 0x0007 113 111 021 Pre-fail Always
- 4875
4 Start_Stop_Count 0x0032 100 100 040 Old_age Always
- 237
5 Reallocated_Sector_Ct 0x0033 153 153 140 Pre-fail Always
- 747
7 Seek_Error_Rate 0x000b 100 253 051 Pre-fail Always
- 0
9 Power_On_Hours 0x0032 076 076 000 Old_age Always
- 18117
10 Spin_Retry_Count 0x0013 100 100 051 Pre-fail Always
- 0
11 Calibration_Retry_Count 0x0013 100 100 051 Pre-fail Always
- 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always
- 228
194 Temperature_Celsius 0x0022 117 108 000 Old_age Always
- 33
196 Reallocated_Event_Count 0x0032 001 001 000 Old_age Always
- 639
197 Current_Pending_Sector 0x0012 200 200 000 Old_age Always
- 0
198 Offline_Uncorrectable 0x0012 200 200 000 Old_age Always
- 0
199 UDMA_CRC_Error_Count 0x000a 200 253 000 Old_age Always
- 0
200 Multi_Zone_Error_Rate 0x0009 200 179 051 Pre-fail
Offline - 0
The "Reallocated_Sector_Ct" and "Reallocated_Event_Count" worries me..
Should I be worried?
--
-Jonas
Name: Jonas Lundgren
ICQ#: 52064961
Mail: jonas@local.se
IRC: neon / neonman @ EFnet, Undernet, Quakenet, freenode
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-12-06 17:58 ` Jonas Lundgren
@ 2006-12-06 18:45 ` Andrew Lyon
2006-12-07 1:25 ` Tejun Heo
1 sibling, 0 replies; 26+ messages in thread
From: Andrew Lyon @ 2006-12-06 18:45 UTC (permalink / raw)
To: jonas; +Cc: Tejun Heo, linux-ide
On 12/6/06, Jonas Lundgren <jonas@local.se> wrote:
> Tejun Heo wrote:
> [--snip--]
>
> >> IF the system does recover, I start getting
> >> the extremly low disk write speeds that I reported above, and only a
> >> reboot will get the performance back to regular.
> >
> > Please full dmesg after your computer got really slow. I suspect libata
> > decided to switch to PIO mode.
> Here's the relevant part, if you want the whole dmesg look at:
> http://pastebin.ca/269581
>
> [--snip--]
> [82048.255126] can't create port
> [85055.578172] reiser4[unrar(30787)]: disable_write_barrier
> (fs/reiser4/wander.c:234)[zam-1055]:
> [85055.578174] NOTICE: md5 does not support write barriers, using
> synchronous write instead.
> [87825.501998] can't create port
> [89520.019538] ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
> frozen
> [89520.019545] ata2.00: cmd c8/00:08:fe:68:df/00:00:00:00:00/e1 tag 0
> data 4096 in
> [89520.019547] res 40/00:00:00:00:00/00:00:00:00:00/00 Emask
> 0x4 (timeout)
> [89520.322292] ata2: soft resetting port
> [89527.515891] ata2: port is slow to respond, please be patient (Status
> 0xd0)
> [89550.457913] ata2: port failed to respond (30 secs, Status 0xd0)
> [89550.457917] ata2: softreset failed (device not ready)
> [89550.457921] ata2: softreset failed, retrying in 5 secs
> [89555.454103] ata2: hard resetting port
> [89562.799693] ata2: port is slow to respond, please be patient (Status
> 0x80)
> [89585.740239] ata2: port failed to respond (30 secs, Status 0x80)
> [89585.740242] ata2: COMRESET failed (device not ready)
> [89585.740245] ata2: hardreset failed, retrying in 5 secs
> [89590.736978] ata2: hard resetting port
> [89598.081854] ata2: port is slow to respond, please be patient (Status
> 0x80)
> [89617.604742] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> [89617.611034] ata2.00: configured for UDMA/100
> [89617.611042] ata2: EH complete
> [89617.623426] SCSI device sdb: 145226112 512-byte hdwr sectors (74356 MB)
> [89617.633551] sdb: Write Protect is off
> [89617.633553] sdb: Mode Sense: 00 3a 00 00
> [89617.637765] SCSI device sdb: write cache: enabled, read cache:
> enabled, doesn't support DPO or FUA
>
> >
> >> I don't know what causes it, but most of the times when I've gotten it
> >> my system has been under heavy load (compiling, downloading torrents in
> >> 11mb/sec etc). Please let me know if you want any additional info, want
> >> me to try something out, or whatever. My recent hardware upgrade for
> >> around $1200 (to a core2duo system, i965 mobo) is just going to waste
> >> because of this problem. :/
> >
> > Heh, nice machine you got there. When you look at the dmesg, do the
> > error messages occur only on one of the two drives? Or are both
> > affected? If only one is affected,
> >
> > 1. swap the two. you'll probably have to dance a little bit with boot
> > loader but md should handle that fine once the kernel is loaded. does
> > the errors persist? on which device do they occur? do they follow the
> > drive or stay on the mobo port?
> It follows the drive. (Hardware problem?)
>
> >
> > 2. try different cable / port. if you change port, again, you need to
> > dance w/ boot loader. who's carrying the error messages with it?
> Read above.
>
> >
> > 3. try different power plug from different power lane.
> I've got a really good power supply, wich can handle max 560W on the +12
> / -12 V rail alone.
>
> >
> >> I just got so glad when I saw the post of this on linux-ide, I've been
> >> searching like crazy to find another person having the same problem (and
> >> possibly a solution) for the past 2-3 weeks or so.
> >
> > My first guess is frequent transmission errors. Please report the test
> > results. Thanks.
> >
>
> I guess it could only be a hardware problem since the error follows the
> drive, and both the drives are identical, so it can't be a firmware
> problem. Correct me if I'm wrong.
>
> I just checked the smart status, and the drive passes, but it seems like
> it's going down though, on the other hand I might misread the results.
>
> smartctl -d ata -A /dev/sdb
> smartctl version 5.36 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
> Home page is http://smartmontools.sourceforge.net/
>
> === START OF READ SMART DATA SECTION ===
> SMART Attributes Data Structure revision number: 16
> Vendor Specific SMART Attributes with Thresholds:
> ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE
> UPDATED WHEN_FAILED RAW_VALUE
> 1 Raw_Read_Error_Rate 0x000b 200 200 051 Pre-fail Always
> - 0
> 3 Spin_Up_Time 0x0007 113 111 021 Pre-fail Always
> - 4875
> 4 Start_Stop_Count 0x0032 100 100 040 Old_age Always
> - 237
> 5 Reallocated_Sector_Ct 0x0033 153 153 140 Pre-fail Always
> - 747
> 7 Seek_Error_Rate 0x000b 100 253 051 Pre-fail Always
> - 0
> 9 Power_On_Hours 0x0032 076 076 000 Old_age Always
> - 18117
> 10 Spin_Retry_Count 0x0013 100 100 051 Pre-fail Always
> - 0
> 11 Calibration_Retry_Count 0x0013 100 100 051 Pre-fail Always
> - 0
> 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always
> - 228
> 194 Temperature_Celsius 0x0022 117 108 000 Old_age Always
> - 33
> 196 Reallocated_Event_Count 0x0032 001 001 000 Old_age Always
> - 639
> 197 Current_Pending_Sector 0x0012 200 200 000 Old_age Always
> - 0
> 198 Offline_Uncorrectable 0x0012 200 200 000 Old_age Always
> - 0
> 199 UDMA_CRC_Error_Count 0x000a 200 253 000 Old_age Always
> - 0
> 200 Multi_Zone_Error_Rate 0x0009 200 179 051 Pre-fail
> Offline - 0
>
>
> The "Reallocated_Sector_Ct" and "Reallocated_Event_Count" worries me..
> Should I be worried?
Yes, they are a sign that the drive is wearing out!
Andy
> --
> -Jonas
>
> Name: Jonas Lundgren
> ICQ#: 52064961
> Mail: jonas@local.se
> IRC: neon / neonman @ EFnet, Undernet, Quakenet, freenode
> -
> To unsubscribe from this list: send the line "unsubscribe linux-ide" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Scary Intel SATA problem: "frozen"
2006-12-06 17:58 ` Jonas Lundgren
2006-12-06 18:45 ` Andrew Lyon
@ 2006-12-07 1:25 ` Tejun Heo
1 sibling, 0 replies; 26+ messages in thread
From: Tejun Heo @ 2006-12-07 1:25 UTC (permalink / raw)
To: Jonas Lundgren; +Cc: linux-ide
On Wed, Dec 06, 2006 at 06:58:18PM +0100, Jonas Lundgren wrote:
> Here's the relevant part, if you want the whole dmesg look at:
> http://pastebin.ca/269581
>
[--snip--]
> [89585.740245] ata2: hardreset failed, retrying in 5 secs
> [89590.736978] ata2: hard resetting port
> [89598.081854] ata2: port is slow to respond, please be patient (Status
> 0x80)
> [89617.604742] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> [89617.611034] ata2.00: configured for UDMA/100
> [89617.611042] ata2: EH complete
> [89617.623426] SCSI device sdb: 145226112 512-byte hdwr sectors (74356 MB)
> [89617.633551] sdb: Write Protect is off
> [89617.633553] sdb: Mode Sense: 00 3a 00 00
> [89617.637765] SCSI device sdb: write cache: enabled, read cache:
> enabled, doesn't support DPO or FUA
EH went okay although your harddrive is responding sluggishly.
> > 1. swap the two. you'll probably have to dance a little bit with boot
> > loader but md should handle that fine once the kernel is loaded. does
> > the errors persist? on which device do they occur? do they follow the
> > drive or stay on the mobo port?
>
> It follows the drive. (Hardware problem?)
Yeap, probably.
[--snip--]
> I guess it could only be a hardware problem since the error follows the
> drive, and both the drives are identical, so it can't be a firmware
> problem. Correct me if I'm wrong.
Firmware? Could be a firmware bug on the drive but not
controller/driver problem.
[--snip--]
> 9 Power_On_Hours 0x0032 076 076 000 Old_age Always
> - 18117
That's two year's worth of spinning. I wouldn't be surprised if the
drive gives out.
> 196 Reallocated_Event_Count 0x0032 001 001 000 Old_age Always
> - 639
And quite some number of reallocations. Reallocation itself doesn't
necessarily indicate critical condition but if you've got 639 of them,
you gotta throw that thing away.
--
tejun
^ permalink raw reply [flat|nested] 26+ messages in thread
end of thread, other threads:[~2006-12-07 1:25 UTC | newest]
Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-11-28 22:24 Scary Intel SATA problem: "frozen" Jonas Lundgren
2006-11-28 22:59 ` Linus Torvalds
2006-11-28 23:22 ` Jeff Garzik
2006-11-28 23:43 ` Linus Torvalds
2006-11-29 0:38 ` Jeff Garzik
2006-11-29 0:51 ` Linus Torvalds
2006-11-29 2:51 ` Mark Lord
2006-11-29 0:57 ` Tejun Heo
2006-11-29 7:14 ` Jonas Lundgren
2006-11-29 7:29 ` Tejun Heo
2006-11-29 14:11 ` Mark Lord
2006-11-29 16:19 ` Linus Torvalds
2006-12-06 17:58 ` Jonas Lundgren
2006-12-06 18:45 ` Andrew Lyon
2006-12-07 1:25 ` Tejun Heo
-- strict thread matches above, loose matches on Subject: below --
2006-11-14 15:04 [git patches] libata fixes Jeff Garzik
2006-11-28 17:31 ` Scary Intel SATA problem: "frozen" Linus Torvalds
2006-11-28 17:37 ` Mark Lord
2006-11-28 17:55 ` Sergei Shtylyov
2006-11-28 20:12 ` Eric D. Mudama
2006-11-28 20:36 ` Sergei Shtylyov
2006-11-29 1:12 ` Tejun Heo
2006-11-28 18:05 ` Alan
2006-11-28 18:33 ` Linus Torvalds
2006-11-28 21:03 ` Jeff Garzik
2006-11-28 21:45 ` Linus Torvalds
2006-11-28 22:18 ` Jeff Garzik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).