• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

how can I enable ultra-dma in linux?

mcveigh

Diamond Member
I am running libranet (debian) 2.8 for some reason dms is turned off by default.

I can turn it on by "hdparm -d1 /dev/dha"

but when I reboot it won't stay set. I tried hdparm -k1 /dev/hda but no luck.
 
You could try putting that command in one of your startup scripts. I'm not certain about how Debian handles them, but on most other distros there's an rc.local file in /etc/rc.d that you can modify.
 
Install hwtools. My /etc/init.d/hwtools:

<snip>
#!/bin/sh
#
# /etc/init.d/hwtools (previously /etc/rc.boot/hwtools)
#

# Optimize interrupts. You might want to add parameters if you want
# to favor ttyS1 or ttyS0 or something else.
if command -v irqtune >/dev/null 2>&1; then
# irqtune [PUT ARGS HERE]
true
fi

# hdparm optimization
# Switches on interrupts during transfers and does multi sector transfers
if command -v hdparm >/dev/null 2>&1; then
hdparm -c1 -m16 -d1 -u1 -k1 /dev/hda
fi

# configure QIC-02 interface
# see qic02conf(8)
# qic02conf --card= --port= --dma= --irq=
 
thanks fooey, I tried that and it works but it's not turned on until all my filesystems are mounted. i'm thinking my bootups would go faster if it was enabled.

I wonder if I could pass the parameters through grub?
 
I don't think the kernel is capable of directly doing that stuff. You could edit your init setup so that hwtools will run early on. Move the link in /etc/rc2.d/ with the name hwtools in it, to "S01hwtools". There is an automated debian tool for mucking with init, but it's sufficiently obscure for me to have no idea what it is 🙂 update-rc.d or something?
 
so no linux version does this at boot time?

the otehr distro's I have used are mainly redhat and gentoo. libranet alerts me during boot that dma in not enabled and may lead to long fsck times.
 
Actually, DMA is installed for IDE devices by the stock kernel for many IDE controllers. This is a relatively recent change, I believe (say sometime later than 2.4.16). So most of the latest Linux distros probably enable DMA for any of the common controllers (i.e. Intel motherboard chipsets, Promise, etc.). Contrary to nVidia's documentation, SuSE Linux 8.2 enables DMA even for my nForce2 northbridge ATA controller.

I griped about the DMA performance issue in another thread recently, and Nothinman retorted that IDE support in Linux is a bit rough due to the variations in IDE controllers and devices on the market, some of which don't properly implement specifications.
 
I griped about the DMA performance issue in another thread recently, and Nothinman retorted that IDE support in Linux is a bit rough due to the variations in IDE controllers and devices on the market, some of which don't properly implement specifications.

Well it is, and it's currently being redone because it's so ugly. Infact 2.4.21 includes the IDE layer from the -ac kernel trees, which I believe is a rewrite done by Andre Hedrick (the only guy who was able to get things squared away heh). If you have a chipset that isn't enabling DMA by default I would recommend trying 2.4.21 or one of the -ac patches, it'll probably work better.
 
I'd say its a bit of a mess. In order to provide support for DMA on my nforce2 I had to enable support for AMD Viper chipsets. It's one of those realy obscure things that have no reference in most any documentation... Oh, weeeell I figured it out and it works so I am happy.


Lots of times you can force the dma to become active with certain chipsets with some kernel append right at boot time using Lilo or Grub options. Like Linux ide-dma=1 or something like that, you'll have to read the kernel documentation to find out for certain what the command is and weither or not it's safe to use.
 
Back
Top