View previous topic :: View next topic |
Author |
Message |
trouby Apprentice
Joined: 04 Oct 2003 Posts: 168
|
Posted: Fri Jan 09, 2004 9:53 am Post subject: SLOWWWW HDs... |
|
|
Hey,
I have set software raid with two WD 80GB hard drives, both IDE.
They acts EXTERMELY slow, and when I run hdparm /dev/hda I get the following as a result:
Code: | /dev/hda:
multcount = 16 (on)
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 0 (off)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 8 (on)
geometry = 9729/255/63, sectors = 156301488, start = 0 |
Well, this is a new hardware, I guess it fully support dma/32-bit IO support, but for some reason, when I try to enable DMA i get the following:
Code: | root@emerald:/usr/src/linux# hdparm -d 1 /dev/hda
/dev/hda:
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
using_dma = 0 (off) |
Well, I guess the kernel does not allow to use DMA by default, and maybe the kernel doesn't recognize my motherboard. I have an INTEL server board (s845wd1-e), I didn't find anything kernel otpions about this MB.
Any help?
Thanks. |
|
Back to top |
|
|
wolvenwraith n00b
Joined: 28 Dec 2003 Posts: 67 Location: Someplace, Somewhere
|
Posted: Fri Jan 09, 2004 10:13 am Post subject: |
|
|
Chances are you don't have IDE support in the kernel for your controller, and you're using the generic driver. You said it was an Intel board? Well, usually intel boards will need the following option in the kernel enabled (2.6 kernel, should be similar in 2.4)
Code: |
Device Drivers --->
ATA/ATAPI/MFM/RLL support --->
ATA/ATAPI/MFM/RLL support
Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
PCI IDE chipset support
Generic PCI bus-master DMA support
Intel PIIXn chipsets support
|
edit: that's an intel i845 chipset board, which usually uses the ICH4 IDE chip. That should be enabled when you turn the above on. |
|
Back to top |
|
|
Bornio Tux's lil' helper
Joined: 16 Dec 2002 Posts: 129
|
Posted: Fri Jan 09, 2004 10:16 am Post subject: |
|
|
INTEL uses PROMISE IDE controllers.
If I am not mistaken, the motherboard you are using, uses IDE PDC20267 controller.
Try it, it should work.
Goodluck! |
|
Back to top |
|
|
trouby Apprentice
Joined: 04 Oct 2003 Posts: 168
|
Posted: Fri Jan 09, 2004 5:24 pm Post subject: |
|
|
Wolvenwraith, I'll try what you said, although I didn't see that chip on the specification of the motherboard.
here is the url for my board:
http://www.intel.com/design/servers/buildingblocks/s845wd1-e/#productspec
Intel uses Promise controllers for the RAID, I opened the box, and switchd the HDs to the normal IDE channels (Are they promise too, i don't think so?!)
that due to the fact that the new firmware of the Promise RAID controller doesn't work properly under Linux, I had too much troubles with that ata raid thing, so I want to bypass that.
any other suggestions?[/url] |
|
Back to top |
|
|
wolvenwraith n00b
Joined: 28 Dec 2003 Posts: 67 Location: Someplace, Somewhere
|
Posted: Fri Jan 09, 2004 7:51 pm Post subject: |
|
|
the normal IDE channels are probably not Promise, and that is why I said to try that chip (the onboard raid would definately not be that chip). The keyword I noticed there was software RAID, so I assumed the absence of hardware RAID |
|
Back to top |
|
|
trouby Apprentice
Joined: 04 Oct 2003 Posts: 168
|
Posted: Fri Jan 09, 2004 8:13 pm Post subject: |
|
|
Great, it worked fine,
see the results:
Code: |
root@emerald:/usr/local/apache/bin# hdparm -tT /dev/hda
/dev/hda:
Timing buffer-cache reads: 128 MB in 0.37 seconds =345.95 MB/sec
Timing buffered disk reads: 64 MB in 20.71 seconds = 3.09 MB/sec
|
and after hdparm -d 1...
Code: |
/dev/hda:
Timing buffer-cache reads: 128 MB in 0.38 seconds =336.84 MB/sec
Timing buffered disk reads: 64 MB in 1.20 seconds = 53.33 MB/sec
|
Two questions:
after boot, it saves these parameters? or I should put somewhere when system load the hdparm -d 1 to enable the DMA?
also, here is my newer parameters:
Code: |
root@emerald:/usr/local/apache/bin# hdparm /dev/hda
/dev/hda:
multcount = 16 (on)
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 8 (on)
geometry = 9729/255/63, sectors = 156301488, start = 0
|
can I do any other tweakings for better perfrmance? maybe use 32-bit IO_support?
thanks a lot.
[/code] |
|
Back to top |
|
|
wolvenwraith n00b
Joined: 28 Dec 2003 Posts: 67 Location: Someplace, Somewhere
|
Posted: Fri Jan 09, 2004 9:09 pm Post subject: |
|
|
you may want to play around with it a bit, but honestly DMA is the only thing that made a difference on mine. enabling all the other stuff didn't change the speed up or down in the least. And also, you may want to check the kernel option "enable DMA by default" or something of the sort, or you can just put the hdparm line in /etc/conf.d/local.start |
|
Back to top |
|
|
TheCoop Veteran
Joined: 15 Jun 2002 Posts: 1814 Location: Where you least expect it
|
Posted: Fri Jan 09, 2004 10:21 pm Post subject: |
|
|
/etc/{init.d,conf.d}/hdparm exist so you can set hdparm settings on bootup. Also have a look at the 'Enable DMA by default' in the kernel config _________________ 95% of all computer errors occur between chair and keyboard (TM)
"One World, One web, One program" - Microsoft Promo ad.
"Ein Volk, Ein Reich, Ein Führer" - Adolf Hitler
Change the world - move a rock |
|
Back to top |
|
|
|