How do I enable DMA at boot time?
On my HP Pavilion 503n, I recently discovered how profound of a positive impact DMA had on my hard drive and CD/DVD drive performance. I can now burn DVDs at the advertised speed, and it works beautifully. However, the only way I know how to turn it on is by issuing the following root commands once my system has started up (the stuff after the #s is not what I put):
hdparm -d1 /dev/hda #20GB hard drive hdparm -d1 /dev/hdb #40GB hard drive hdparm -d1 /dev/hdc #CD reader/writer I never use hdparm -d1 /dev/hdd #CD/DVD reader/writer In Fedora, is there a kernel option or something that lets me enable DMA by default (preferably before the majority of the boot process, since it currently takes four minutes)? |
Quote:
Code:
grep -i dma /boot/config-2.6.20-ck1-core2duo |
Thanks for the quick and thorough response!
Yes, all of those items are enabled in my /boot/config-2.6.20-1.2933.fc6 file. I'm wondering if I need a kernel option or something to keep it in control. I'm guessing the system could be starting with DMA enabled, but it gets turned off sometime during the boot process. I noticed that DMA gets turned off when I do things like fdisk /dev/hda (without even writing to it). I wonder if DMA is getting turned off by udev or by the remount to read/write process. Whatever the case, my GRUB kernel boot commands are: root (hd0,0) kernel /vmlinuz-2.6.20-1.2933.fc6 ro root=/dev/VolGroup00/LogVol00 quiet apm=off acpi=on ide0=dma initrd /initrd-2.6.20-1.2933.fc6.img (The ide0=dma was something I tried to enable DMA, but it seemed to have no effect.) |
Quote:
|
I managed to work around it by sticking the DMA-enabling commands in my /etc/rc.sysinit after all the file systems had been mounted (putting it at the beginning allowed udev or something to reverse it). I timed my system's total boot time from computer startup to KDE loading with and without DMA. I got 5 minutes without DMA, 3 minutes with DMA.
I did notice that my CD and DVD drives (/dev/hdc and /dev/hdd) had DMA enabled by default in both cases. For you Googlers out there, I'll post what I did here: (This is a segment of /etc/rc.sysinit) Original: Code:
... Code:
... |
All times are GMT -5. The time now is 05:56 AM. |