SATA timeouts with 6.1

Daniel O'Connor doconnor at gsoft.com.au
Thu Aug 17 07:31:04 UTC 2006


Hi,
I have an Asus A8V with AMD64 3200+, and a Promise TX2300 RAID card and I have configured two WD 320Gb disks in RAID 1. I have been testing RAID recovery and have noticed that I get timeouts when rebuilding the array (but not if I just read /dev/ar0 normally).

Here's part of dmesg..
...
atapci0: <Promise PDC20771 SATA300 controller> port 0xa400-0xa47f,0xa000-0xa0ff mem 0xfab00000-0xfab00fff,0xfaa00000-0xfaa1ffff irq 16 at device 11.0 on pci0
ata2: <ATA channel 0> on atapci0
ata3: <ATA channel 1> on atapci0
ata4: <ATA channel 2> on atapci0
...
ad4: 305245MB <WDC WD3200SD-01KNB0 08.05J08> at ata2-master SATA150
ad6: 305245MB <WDC WD3200SD-01KNB0 08.05J08> at ata3-master SATA150
ar0: 305175MB <Promise Fasttrak RAID1> status: READY
ar0: disk0 READY (master) using ad6 at ata3-master
ar0: disk1 READY (mirror) using ad4 at ata2-master
...

I pull the plug..
ar0: WARNING - mirror protection lost. RAID1 array in DEGRADED mode
subdisk4: detached
ad4: detached

And reconnect it..

ad4: 305245MB <WDC WD3200SD-01KNB0 08.05J08> at ata2-master SATA150
ad4: inserted into ar0 disk1 as spare

And then start my rebuild..
ad6: WARNING - SETFEATURES SET TRANSFER MODE taskqueue timeout - completing request directly
ad6: WARNING - SETFEATURES SET TRANSFER MODE taskqueue timeout - completing request directly
ad6: WARNING - SETFEATURES ENABLE RCACHE taskqueue timeout - completing request directly
ad6: WARNING - SETFEATURES ENABLE WCACHE taskqueue timeout - completing request directly
ad6: WARNING - SET_MULTI taskqueue timeout - completing request directly
ad6: TIMEOUT - READ_DMA retrying (1 retry left) LBA=5481728
ad6: TIMEOUT - READ_DMA retrying (1 retry left) LBA=16812032
ad6: WARNING - SETFEATURES SET TRANSFER MODE taskqueue timeout - completing request directly
ad6: WARNING - SETFEATURES SET TRANSFER MODE taskqueue timeout - completing request directly
ad6: WARNING - SETFEATURES ENABLE RCACHE taskqueue timeout - completing request directly
ad6: WARNING - SETFEATURES ENABLE WCACHE taskqueue timeout - completing request directly
ad6: WARNING - SET_MULTI taskqueue timeout - completing request directly
ad6: TIMEOUT - READ_DMA retrying (1 retry left) LBA=18238720
ad6: TIMEOUT - READ_DMA retrying (1 retry left) LBA=25063680
ad6: WARNING - SETFEATURES SET TRANSFER MODE taskqueue timeout - completing request directly
ad6: WARNING - SETFEATURES SET TRANSFER MODE taskqueue timeout - completing request directly
ad6: WARNING - SETFEATURES ENABLE RCACHE taskqueue timeout - completing request directly
ad6: WARNING - SETFEATURES ENABLE WCACHE taskqueue timeout - completing request directly
ad6: WARNING - SET_MULTI taskqueue timeout - completing request directly
ad6: TIMEOUT - READ_DMA retrying (1 retry left) LBA=27414272
ad6: TIMEOUT - READ_DMA retrying (1 retry left) LBA=32437760
ad6: WARNING - SETFEATURES SET TRANSFER MODE taskqueue timeout - completing request directly
ad6: WARNING - SETFEATURES SET TRANSFER MODE taskqueue timeout - completing request directly
ad6: WARNING - SETFEATURES ENABLE RCACHE taskqueue timeout - completing request directly
ad6: WARNING - SETFEATURES ENABLE WCACHE taskqueue timeout - completing request directly
ad6: WARNING - SET_MULTI taskqueue timeout - completing request directly
ad6: TIMEOUT - READ_DMA retrying (1 retry left) LBA=37649408
ad6: TIMEOUT - READ_DMA retrying (1 retry left) LBA=45399808
ad6: WARNING - SETFEATURES SET TRANSFER MODE taskqueue timeout - completing request directly
ad6: WARNING - SETFEATURES SET TRANSFER MODE taskqueue timeout - completing request directly
ad6: WARNING - SETFEATURES ENABLE RCACHE taskqueue timeout - completing request directly
ad6: WARNING - SETFEATURES ENABLE WCACHE taskqueue timeout - completing request directly
ad6: WARNING - SET_MULTI taskqueue timeout - completing request directly
ad6: TIMEOUT - READ_DMA retrying (1 retry left) LBA=56254208
ad6: TIMEOUT - READ_DMA retrying (1 retry left) LBA=58566912
ad6: WARNING - SETFEATURES SET TRANSFER MODE taskqueue timeout - completing request directly
ad6: WARNING - SETFEATURES SET TRANSFER MODE taskqueue timeout - completing request directly
ad6: WARNING - SETFEATURES ENABLE RCACHE taskqueue timeout - completing request directly
ad6: WARNING - SETFEATURES ENABLE WCACHE taskqueue timeout - completing request directly
ad6: WARNING - SET_MULTI taskqueue timeout - completing request directly
ad6: TIMEOUT - READ_DMA retrying (1 retry left) LBA=89094912

I believe these drives are compatible with the controller - a very similar
model is listed in the test sheet (different capacity). I have tried 4 sets
of SATA cables with no change in behaviour.

I have also seen the array 'split' where the code sees 2 arrays (one on each
disk) when I plug the drive back in. I would have expected the ATA code to 
notice it had the same ID number (I am assuming that when the array is created
it gets a moderately unique ID) but the new disk has an older generation
number and so not add it.

-- 
Daniel O'Connor software and network engineer
for Genesis Software - http://www.gsoft.com.au
"The nice thing about standards is that there
are so many of them to choose from."
  -- Andrew Tanenbaum
GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20060817/884b6189/attachment.pgp


More information about the freebsd-stable mailing list