kern/74070: DMA problwms with large disks and HPT370

Tuure Laurinolli tuure at
Thu Nov 18 04:50:35 PST 2004

>Number:         74070
>Category:       kern
>Synopsis:       DMA problwms with large disks and HPT370
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Nov 18 12:50:34 GMT 2004
>Originator:     Tuure Laurinolli
>Release:        FreeBSD 5.3-RC1 i386
FreeBSD vortex.home.lan 5.3-RC1 FreeBSD 5.3-RC1 #6: Thu Oct 21 19:26:48 EEST 2004 root at vortex.home.lan:/usr/obj/usr/src/sys/VORTEX i386

Abit VP6 motherboard with latest BIOS, ie. HPT370 RAID controller
two Seagate HDDs, model <ST3200822A/3.01>, ie. 200GB models
I get DMA errors when trying to access sector 268435455, or the 2^28th sector from the beginning of the disk.

I guess this is a controller problem, however I don't have any real proof, because this is my only available controller that supports disks as large as those. I will try to find another controller to test with. I think it would be very unlikely for two new disks to both have the same problem on the same sector.

With a single disk, the errors of dd if=/dev/ad6 of=/tmp/test6 are:

ad6: TIMEOUT - READ_DMA retrying (2 retries left) LBA=268435455
ad6: TIMEOUT - READ_DMA retrying (1 retries left) LBA=268435455
ad6: FAILURE - READ_DMA timed out

With a HPT-native RAID1 setup the results are worse. I don't have exact error messages, but there are DMA timeouts on both disks (ad4 and ad6), that result in tearing the array (ar0) apart, and causing a kernel panic (maybe because the array is the root disk too).
[14:30:23][tazle at vortex][/var/run]% sudo dd if=/dev/ad6 of=/tmp/test6 skip=268435450 count=10
dd: /dev/ad6: Input/output error
5+0 records in
5+0 records out
2560 bytes transferred in 15.645115 secs (164 bytes/sec)

The system console gives the errors given in full desription.

More information about the freebsd-bugs mailing list