Fedora Core 3 and hdparm

This is a slightly edited and spell checked version of an email posted to the list by Patrick Read.


Les mentioned at the 1/5 ALE meeting how Fedora Core 3 defaults the HD Parms to the mundane (slow) values. He showed me how to use the hdparm utility to enhance the R/W performance of the HD but I discovered that this doesn't "stick" upon reboot.

I started hacking the /etc/rc.d/rc.sysinit file (well, examining it -- I didn't need to make changes to this file) and near the bottom I discovered where these hdparm changes can be made permanent.

Inside the /etc/sysconfig directory is a script called harddisks. Edit it using your favorite editor -- you will notice a wealth of comments which many are quite useful.

NOTE: THESE VALUES ASSUME YOU ARE USING A NEWER UDMA-5 DISK DRIVE - THIS IS THE STANDARD THESE DAYS IN FAIRLY NEW PC HARDWARE!!! If you are using an older (more than 4 years old) MoBo/Drive/IDE Controller, these values may not work and could possibly damage the hardware. Be careful out there...

NOTE: Do all the below as root (obviously...).

  1. Copy this file into the same directory (duplicate it) and call the new copy harddiskhda.
  2. Edit this file using {vi|jpico|emacs|kwrite|notepad (Just kidding)}. Uncomment the line (remove the # at the beginning)
    # USE DMA=1
    
  3. Uncomment the line
    # MULTIPLE_IO=16
    
  4. Uncomment the line
    # EIDE_32BIT=3
    
    and make sure the value on the right of the = is 3. This is the enhanced 32-bit I/O mode.
  5. Uncomment the line
    # LOOKAHEAD=1
    
  6. Extra Parms: I used
    EXTRA_PARAMS="-u1 -k1"
    

BE SURE TO INCLUDE THE DOUBLE QUOTES HERE!!! This is the "catch-all" for any additional parms you want to set. Since there are two additional parms, u1 (unmask IRQ=1 [enabled]) and k1 (keep settings=1 [enabled]), they need to be enclosed together in quotes.

That's it. My /etc/sysconfig/harddiskhda file (minus all those comments) looks like:

USE_DMA=1
MULTIPLE_IO=16
EIDE_32BIT=3
LOOKAHEAD=1
EXTRA_PARAMS="-u1 -k1"

NOTE: Since I have two physical hard disks, /dev/hda and /dev/hdb, I made the above changes and then duplicated the file again calling it harddiskhdb. Your actual device configuration may be different. Again, only make the changes to these values if you have newer hardware.

Now, whenever I boot, I notice in the startup console that FC3 is

Setting up hard disk parameters: hda... [ OK ]
Setting up hard disk paramaters: hdb... [ OK ]

or something similar.

Much thanks to Les for pointing out to me how FC3 didn't take advantage of my HD performance, and for tips on using the hdparm command line utility.

One additional note: You can test the performance of the HD Read speed by running (as root):

[root@linux ~]# hdparm -tT /dev/hda

Last modified: Thu Jan 13 23:52:16 CST 2005