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
xx> # hdparm -tT /dev/hdc
xx> Timing buffer-cache reads: 128 MB in 1.24 seconds =103.23 MB/sec
xx> Timing buffered disk reads: 64 MB in 3.76 seconds = 17.02 MB/sec
these are theoretical maximum xfer speed ..
- the metric of interest is "timing buffered disk read"
- ignore the buffer-cache reads
consider yourself lucky if your system ( buffered disk reads )
can achieve 1/2 of those rated maximum disk transfers
- if you miss one cpu clock cycle .. it takes you 2x longer
to read the same data
you will also get different results for different configurations
( ie.. changing just one parameter/variable )
- different kernel - identical hardware setup
- different disk - identical hardware setup
- different motherboard
- different amounts of memory
different motherboards is the biggest variable ...
( w/ dma on in both cases -- different motherboard )
20MB/sec vs 50MB/sec variations
> # hdparm -c1 -d1 /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)
thats a good option, you might also wanna try
hdparm -c3 -d1 -u1 /dev/hda
-u1 allow the system to process other systeminterrupts
while waiting for the disk
--- you can also check your cas timing speed to tune that to the
--- speed of your actual memory used ...
--- pc100 vs pc133 vs pc2100
--- Do NOT mix different memory speeds ...
=== playing will hdparm options -- you risk losing data on your disks