Re: hdparm and DMA
On Mon, Nov 18, 2002 at 16:16:57 +0100, Emil Pedersen wrote:
> > So are the read times as expected for an IDE ATA133, 7200RPM, 40GB drive?
>
> Certainly not. Bellow is what I got from my IBM 7200 rpm disk, (using
> UDMA66):
>
I only just got this computer and hard drive 1 week ago and it is
supposed to be quite reasonable.
Here is what Western Digital's site says:
Rotational Speed 7,200 RPM (nominal)
Buffer Size 8 MB
Buffer To Disk 591.0 Mbits/s (Max)
Read Seek Time (Average) 8.9 ms
Write Seek Time (Average) 10.9 ms (average)
Track-To-Track Seek Time 2.0 ms (average)
Full Stroke Seek 21.0 ms (average)
Average Latency 4.2 ms (nominal)
Mode 5 Ultra ATA 100.0 MB/s
Mode 4 Ultra ATA 66.6 MB/s
Mode 2 Ultra ATA 33.3 MB/s
Mode 4 PIO 16.6 MB/s
Mode 2 multi-word DMA 16.6 MB/s
It is connected to a fairly new motherboard ASUS A7V8X using the ATA133
connector.
This thing should fly a lot more than it does it seems.
When I try setting DMA on like:
# hdparm -c1 -d1 /dev/hda
/dev/hda:
setting 32-bit I/O support flag to 1
setting using_dma to 1 (on)
I/O support = 1 (32-bit)
using_dma = 1 (on)
But then attempting to list the output on the drive causes it the
command to hang and then eventually list the same output as before
making the changes:
# hdparm /dev/hda
/dev/hda:
multcount = 0 (off)
I/O support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 0 (off)
keepsettings = 0 (off)
nowerr = 0 (off)
readonly = 0 (off)
readahead = 8 (on)
geometry = 77545/16/63, sectors = 78165360, start = 0
busstate = 1 (on)
Then checking in syslog I see:
Nov 19: hda: timeout waiting for DMA
Nov 19: ide_dmaproc: chipset supported ide_dma_timeout func only: 14
Nov 19: hda: status error: status=0x58 { DriveReady SeekComplete DataRequest }
Nov 19: hda: drive not ready for command
Nov 19: hda: status timeout: status=0xd0 { Busy }
Nov 19: hda: drive not ready for command
Nov 19: ide0: reset: success
So it seems that the drive gets reset for some reason.
Cheers.
Mark.
Reply to: