[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Improving Performance for SATA Drives



On Wed, 22 Sep 2004 20:08:05 +0100
Stephen Tait <tait@digitallaw.co.uk> wrote:

> At 19:46 22/09/2004, you wrote:
> >At boot time, running kernel 2.6.7-1-k7, I notice it sets all 4 of my
> >SATA ports to UDMA/100. However, they're all supposed to be able to
> >do SATA 150.
> >
> >Normally I would use hdparm to try and tweak things to make it work
> >faster, but the 2.6 kernel recognizes SATA as SCSI drives (first SATA
> >port is /dev/sda). So, how would I get this system to recognize the
> >faster capabilities of my SATA ports and drive?
> 
> TBH, I don't think you'll notice any difference in speed between
> ATA100 and SATA150. There's no way in hell a hard drive can deliver
> much more than about 50MB/s, let along approach 100MB/s. I might
> result in slower cache transfers, but again I think you'd be hard
> pressed to notice it.
> 
> I'm assuming that the drives are running in DMA rather than PIO,
> right? 

Well, that's part of the problem. hdparm -i /dev/sda returns the
following:

/dev/sda:
 HDIO_GET_IDENTITY failed: Invalid argument

hdparm /dev/sda:
/dev/sda:
 HDIO_GET_MULTCOUNT failed: Invalid argument
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 19929/255/63, sectors = 320173056, start = 0

hdparm -d 1 /dev/sda:
/dev/sda:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Invalid argument

Thus my assumption that the fact SATA is recognized as SCSI in 2.6
kernels was the reason that enhancing SATA performance is different from
the normal hdparm tweaking done with IDE.

> Just try an hdparm benchmark (hdparm -tT /dev/sda whatever), as long
> as it reports decent performance then you shouldn't need to do much
> tweaking. 

hdparm -t /dev/sda and hdparm -T /dev/sda do return the following
results:

hdparm -t /dev/sda
/dev/sda:
 Timing buffered disk reads:  168 MB in  3.01 seconds =  55.80 MB/sec

hdparm -T /dev/sda
/dev/sda:
 Timing buffer-cache reads:   1060 MB in  2.00 seconds = 529.02 MB/sec

However, the system is a lot more sensitive to large disk reads/writes
using my SATA (supposedly using UDMA100) than it was with my IDE that
was limited to UDMA100. With the IDE hdparm -d1 -u1 /dev/hda worked. But
with the SATA, for example, xmms cuts out when I run the hdparm -t/-T
tests, which it didn't do with IDE. The CPU meter seems to shoot higher
as well.

> A newer kernel/SATA drivers may help you in the long run, since the
> SATA drivers seem to improve in performance dramatically with each new
> release.

I am running 2.6.7 and the newest in Sarge is only 2.6.8, but I might
give it a try anyway if I can't come up with anything better.

Any other thoughts or suggestions?

Disclaimer: IDE drive was 40GB Western Digital. SATA is 160GB Maxtor.

TIA,
Jacob



Reply to: