I have a Promise Ultra66 controller in my server (a dual 450Hz Celeron).
Connected to it are two WD800JB drives. I also have a 60G 180GXP drive on
the on-board (UDMA33) controller. The WD800JB tops out at nearly 50M/s
according to Storagereview, and drops to a little under 30M/s at the end
of the disk. However, on my system I get about 27-28M/s across the entire
disk (measured with "zcav" from bonnie++). This is also almost exactly the
same as I get from the 180GXP drive on the onboard controller, so it seems
to be the practical limit of UDMA33.
According to hdparm and /proc/ide/pdc202xx the drives are using UDMA mode
4, but I still suspect that they are stuck at mode 2 somehow. There
doesn't seem to be any other bottlenecks in my system, I can get over
50M/s total by reading from both disks at once.
I noticed something in /proc/ide/pdc202xx however:
- General Status
Burst Mode : enabled
Host Mode : Normal
Bus Clocking : 33 PCI Internal
IO pad select : 6 mA
Status Polling Period : 12
Interrupt Check Status Polling Delay : 5
Primary Channel - Secondary Channel -
66 Clocking disabled disabled
Mode PCI Mode PCI
FIFO Empty FIFO Empty
drive0 drive1 -- drive0 - drive1
DMA enabled: yes no yes no
DMA Mode: UDMA 4 NOTSET UDMA 4 NOTSET
PIO Mode: PIO 4 NOTSET PIO 4 NOTSET
See "66 Clocking" is disabled? Now I don't know what this actually means,
does anyone here know? Does it relate to the PCI bus, some oscillator on
the card? Or is it in fact my problem? If it is, what can I do?
This is all on a 2.4.21 kernel BTW, but I've also tried 2.6.0-test9 with
the same results...
"What do ya want, the long or short version?"
"What's the short version?"
"Bye." -- Holly, Lister, and the Cat