Setting the parameters at both the individual drive level (/etc/sysconfig/harddiskhdc and hardiskhdd had no affect, setting at overall system level /etc/sysconfig.harddisks had no affect. Thanks for the suggestion though. Mike -----Original Message----- From: redhat-list-bounces@xxxxxxxxxx [mailto:redhat-list-bounces@xxxxxxxxxx] On Behalf Of Michael Kearey Sent: Monday, May 09, 2005 1:14 AM To: General Red Hat Linux discussion list Subject: Re: Enabling DMA for disks in Redhat 3.4 On Sun, 2005-05-08 at 15:15 -0400, Mike Ault wrote: > I am attempting to increase the PIO bus speed from 33 to 66 and to turn on > DMA using ATA/EIDE drives. I used to be able to do this with the idebus > setting and the hdparm > command. So far I have not been able to achieve this I get: > > [root@aultlinux3 ~]# hdparm -X66 -d1 -u1 -m16 -c3 /dev/hdd > > /dev/hdd: > setting 32-bit IO_support flag to 3 > setting multcount to 16 > setting unmaskirq to 1 (on) > setting using_dma to 1 (on) > HDIO_SET_DMA failed: Operation not permitted > setting xfermode to 66 (UltraDMA mode2) > multcount = 16 (on) > IO_support = 3 (32-bit w/sync) > unmaskirq = 1 (on) > using_dma = 0 (off) > > When I try. I have also tried adding the options lines for the various > drivers (ide1, ata_piix, libata) but it seems to have no affect. > > Anyone been able to set up DMA for ATA/EIDE drives or to set the bus speed > in RedHat 3.0 release 4? > > On older, slower drives I was able to get speed up to 14.92 mb/sec using > these methods, on these newer, faster drives I can only get to 5.1 mb/sec > > On Old RedHat: > > [root@aultlinux2 root]# hdparm -m16 -c3 -X mdma2 -d1 -a8 -u1 /dev/hdb > > /dev/hdb: > setting fs readahead to 8 > setting 32-bit IO_support flag to 3 > setting multcount to 16 > setting unmaskirq to 1 (on) > setting using_dma to 1 (on) > setting xfermode to 34 (multiword DMA mode2) > multcount = 16 (on) > IO_support = 3 (32-bit w/sync) > unmaskirq = 1 (on) > using_dma = 1 (on) > readahead = 8 (on) > [root@aultlinux2 root]# hdparm -Tt /dev/hdb > > /dev/hdb: > Timing buffer-cache reads: 128 MB in 1.56 seconds = 82.05 MB/sec > Timing buffered disk reads: 64 MB in 4.29 seconds = 14.92 MB/sec > > On New improved RedHat with newer, faster drives: > > [root@aultlinux3 ~]# hdparm -X66 -d1 -u1 -m16 -c3 /dev/hdd > > /dev/hdd: > setting 32-bit IO_support flag to 3 > setting multcount to 16 > setting unmaskirq to 1 (on) > setting using_dma to 1 (on) > HDIO_SET_DMA failed: Operation not permitted > setting xfermode to 66 (UltraDMA mode2) > multcount = 16 (on) > IO_support = 3 (32-bit w/sync) > unmaskirq = 1 (on) > using_dma = 0 (off) > [root@aultlinux3 ~]# hdparm -tT /dev/hdc > > /dev/hdc: > Timing cached reads: 3820 MB in 2.00 seconds = 1909.34 MB/sec > Timing buffered disk reads: 16 MB in 3.11 seconds = 5.15 MB/sec > > > This is using the SATA drive (can't set it using hdparm) as the boot drive > with two EIDE drives chained off of IDE1, the EIDE drives are where I want > to set it. > > So far the only light is rebuilding the kernel to support DMA as it seems > the RedHat folks in their wisdom decided we really didn't want DMA support > in the IDE interface as a default.imagine that, actually wanting the best > performance. However, I haven't had much luck with rebuilding the kernel for > firewire (read no luck at all) and had to download a prebuilt kernel with > firewire enabled in order to use it (not this server). If no one has any > ideas, how about a pointer to a prebuilt kernel rpm with DMA turned on? > > Thanks. > > Mike > > > Hi there Mike. I am Mike too :) - Changing DMA mode 'on the fly' has been disabled for some time. It is set at boot time only. It was determined that changing DMA modes on a live system was hazardous. - There is usually no need to rebuild any kernel. DMA mode is available and usually enabled by default for most controllers. hdparm /dev/hda will tell you if it is ( using_dma = 1 (on) <--- means it is ON ). Have a look in /etc/sysconfig/harddisks for a line : # USE_DMA=1 This causes the kernel to set DMA mode on - it's commented out because as I have said, it's enabled by default. If for some reason the kernel decides that the IDE bus/controller cannot manage DMA mode properly, you have an opportunity to override this using the USE_DMA = 1 option. The EXTRA_PARAMS line can be used to add extra parameters like X66 . However it is very rare to actually need to do this. The /etc/sysconfig/harddisks file is for global settings for all HD's. You are able to set things for specific devices too. Leave the /etc/sysconfig/harddisks file as it is, and create a file /etc/sysconfig/harddiskhd[a-h] . For example, if you want to set DMA on for /dev/hdc create a file : /etc/sysconfig/harddiskhdc Add a line USE_DMA=1 to the file and it will hint the kernel to use DMA for that device at boot time. But first check with hdparm to see what settings it's already using - if it's already using DMA mode, no changes will be seen. Cheers, Michael -- redhat-list mailing list unsubscribe mailto:redhat-list-request@xxxxxxxxxx?subject=unsubscribe https://www.redhat.com/mailman/listinfo/redhat-list -- redhat-list mailing list unsubscribe mailto:redhat-list-request@xxxxxxxxxx?subject=unsubscribe https://www.redhat.com/mailman/listinfo/redhat-list