Slow Linux harddisk, please help

Posted on 2003-11-14
Last Modified: 2010-05-18
I found that my harddisk does not use DMA transfer :

# hdparm /dev/hda

 multcount    = 16 (on)
 IO_support   =  3 (32-bit w/sync)
 unmaskirq    =  0 (off)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    =  8 (on)
 geometry     = 7297/255/63, sectors = 117231408, start = 0

And the speed is pathetic :

# hdparm -tT /dev/hda

 Timing buffer-cache reads:   128 MB in  1.15 seconds =111.30 MB/sec
 Timing buffered disk reads:  64 MB in 10.97 seconds =  5.83 MB/sec

Only 5.80+ MB/sec ...

However, it support some DMA transfer modes :

# hdparm -i /dev/hda


 Model=ST360021A, FwRev=7.73, SerialNo=3HV4ETBG
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
 BuffType=unknown, BuffSize=2048kB, MaxMultSect=16, MultSect=16
 CurCHS=4047/16/255, CurSects=16511760, LBA=yes, LBAsects=117231408
 IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 *udma2 udma3 udma4 udma5
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: device does not report version:  1 2 3 4 5

But why I cant set to use DMA ?

# hdparm -d1 -X67 /dev/hda

 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Operation not permitted
 setting xfermode to 67 (UltraDMA mode3)
 HDIO_DRIVE_CMD(setxfermode) failed: Input/output error
 using_dma    =  0 (off)

Is this hardware related ? Kernel ? or ...

Please help.

Question by:kapot
LVL 20

Accepted Solution

Gns earned 30 total points
ID: 9747612
Probably a question of kernel support for your chipset.... Example:

What chipset do you have?

-- Glenn

Expert Comment

ID: 9747654

Things that can impact this is what kernel version are you running, are they going to support UDMA with your chipset in the future, etc.

Yes your hard drive may physically support UDMA, but the driver support isn't there yet. If you post more info on your chipset, kernel version, maybe linux distro, maybe someone will have an idea as to when or if you be able to get better support.

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

SSH (Secure Shell) - Tips and Tricks As you all know SSH(Secure Shell) is a network protocol, which we use to access/transfer files securely between two networked devices. SSH was actually designed as a replacement for insecure protocols that sen…
You ever wonder how to backup Linux system files just like Windows System Restore?  Well you can use Timeshift in Linux to perform those similar action.  This tutorial will show you how to backup your system files and keep regular intervals. Note…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…

791 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question