IDE DMA Timeouts

Paolo Maero paolo at euresis.it
Sat Feb 11 14:48:23 PST 2006


On Feb 11, 2006, at 2:43 PM, Mike Tancsa wrote:

> At 05:37 PM 10/02/2006, Paolo Maero wrote:
>
>> I have a 2xPIII 700 MHz SMP system with Maxtor PCI SATA controller
>> and two 250 GB Maxtor disks, plus SCSI disks for the OS.
>>
>> atapci0: <Promise PDC20375 SATA150 controller> port 0x3080-0x30bf,  
>> 0x30c0-0x30cf,0x3000-0x307f mem 0xf4220000-0xf4220fff,  
>> 0xf4200000-0xf421ffff irq 20 at device 4.0 on pci2
>> ad4: 239372MB <Maxtor 7L250S0 BANC1E00> at ata2-master SATA150
>> ad6: 239372MB <Maxtor 7L250S0 BANC1E00> at ata2-master SATA150
>
> Your problem might be due to a specific issue with the promise  
> controller
>
> see
> http://lists.freebsd.org/pipermail/freebsd-stable/2006-February/ 
> 022407.html
>
>         ---Mike
>

Mike,

I was probably not clear in my message.

I have a Maxtor SATA controller that uses a Promise chip (PDC20375).  
With this controller the system crashes every time gmirror rebuilds  
the mirror (no log is left, though) and it also crashes occasionally  
under heavy load, leaving IDE ATA Timeouts messages just before the  
crash, e.g.:


Dec 29 03:25:09 zoe kernel: subdisk6: detached
Dec 29 03:25:09 zoe kernel: ad6: detached
Dec 29 03:25:09 zoe kernel: unknown: TIMEOUT - READ_DMA retrying (1  
retry left) LBA=212229760
Dec 29 03:25:09 zoe kernel: GEOM_MIRROR: Device data1: provider ad6  
disconnected.
Dec 29 03:25:09 zoe kernel: GEOM_MIRROR: Device data1: provider  
mirror/data1 destroyed.
Dec 29 03:25:09 zoe kernel: GEOM_MIRROR: Device data1: rebuilding  
provider ad4 stopped.
Dec 29 03:25:24 zoe kernel: unknown: TIMEOUT - READ_DMA retrying (0  
retries left) LBA=212229760
< system crashes, no logs after that >


Dec 29 07:02:32 zoe kernel: subdisk6: detached
Dec 29 07:02:32 zoe kernel: ad6: detached
Dec 29 07:02:32 zoe kernel: unknown: TIMEOUT - READ_DMA retrying (1  
retry left) LBA=212229760
Dec 29 07:02:32 zoe kernel: GEOM_MIRROR: Device data1: provider ad6  
disconnected.
Dec 29 07:02:32 zoe kernel: GEOM_MIRROR: Device data1: provider  
mirror/data1 destroyed.
Dec 29 07:02:32 zoe kernel: GEOM_MIRROR: Device data1: rebuilding  
provider ad4 stopped.
< system crashes, no logs after that >


In the following case the system didn't crash, but the mirror was  
broken. Rebooting the system generates a crash during the boot  
sequence until I clean the mirror metadata in one of the disks (the  
logs are jammed, it seems syslogd is not able to fully write some  
messages)

Dec 10 04:24:48 zoe kernel: subdisk6: detached
Dec 10 04:24:48 zoe kernel: ad6: detached
Dec 10 04:24:48 zoe kernel: unknown: TIMEOUT - READ_DMA48 retrying (1  
retry left) LBA=329048264GEOM_MIRROR: Device data1: provider ad6  
disconnected.
Dec 10 04:24:48 zoe kernel:
Dec 10 04:24:48 zoe kernel: GEOM_MIRROR: Request failed (error=6). ad6 
[WRITE(offset=173617111040, length=16384)]
Dec 10 04:25:03 zoe kernel: unknown: TIMEOUT - READ_DMA48 retrying (0  
retries left) LBA=329048264
Dec 10 04:25:18 zoe kernel: unknown: FAILURE - READ_DMA48 timed out  
LBA=329048264
Dec 10 04:25:18 zoe kernel: GEOM_MIRROR: Request failed (error=5). ad6 
[READ(offset=168472711168, length=2048)]


I then changed the controller to a Promise TX2300, which uses the  
PDC20771 chip (erroneously identified as PDC20580 by FreeBSD 6.0.p4)  
and I saw the errors as described in the thread you mention.

It seems the second problem (TX2300) is solved and will probably be  
inserted into the next release, but the first one not.

Regards

Paolo



More information about the freebsd-stable mailing list