Update.

Thanks Aur�lien Gouny for your assistance. You're a saint.

I have gotten both i2o_block and pti_st drivers to work, but with poor 
performance.

I have it installed under a vanilla 2.4.20 with all scsi and i2o options as 
modules. Someone reported on a forum 
http://www.bsdquestions.org/questions/history/21514
that i2o didn't work well when compiled into the kernel.
MB: Asus A7M266D
CPU: 2x AMD MP2200+
RAM: 512MB DDR ECC
SX6000 + 128MB ECC
4+1 raid5 on IBM 120GXP 120MB disks

To get i2o working you have to have the sx6000 bios in "Other OS" mode. If 
I use "Linux" mode I get problem loading the i2o_pci module, and if I use 
"Windows NT" I can't load i2o_block module.
The i2o modules have to be loaded in a certain order:
i2o_core, i2o_pci, i2o_block. In that order.
I usually load i2o_proc and i2o_config as well. Then I can see info under 
/proc/i2o/
Now the card registers as block device major 80 and minor number 0, 
partitions minor 1, 2, etc.
It shows up under /dev/i2o/

Using the pti_st driver I can set sx6000 bios to either "Other OS", "Linux" 
or "Windows NT". All three work, but "Other OS" setting has worse 
performance than "Linux".
Loading modules scsi_mod, sd_mod and pti_st I get the card to register 
block major 8 minor 0, partitions minor 1, 2 etc.
They show up under /dev/sda, /dev/sda1, ...

To get this far I had to somehow shut down IDE support for the drives.
During boot the kernel tries to load up the drives as hde, hdg, hdi, hdk, 
hdm, hdo. As separate drives, and run partition checks on them. Not good 
since they are part of a raid array.
So I took the one measure I could think of: boot parameters:
hde=ide-scsi hdg=ide-scsi ...
There has to be a better way to do this. Any suggestions?

I also had the problem of the kernel reporting something about "lost 
interrupt" to the disks connected to the sx6000. This actually hung the 
boot process when the kernel was trying to do partition checks.
The kernel stopped reporting this when setting to ide-scsi. But I think it 
is an indication of a more serious error. Perhaps that's why I get so poor 
performance.

Now onto performance:
Doing 1GB writes and reads:
dd if=/dev/zero of=/mountpoint/onegig bs=1024 count=1048576
dd if=/mountpoint/onegig of=/dev/null bs=1024 count=1048576

For comparison:
I have my system on a separate IBM 180GXP 120GB disk.
write finishes in 26s, which means a write throughput of 39MB/s
read throughput 30MB/s
These numbers seem a bit large, and strange. Write throughput is higher 
than read. Could someone shed some light here?

Raid performance:
sx6000 bios "Other OS", i2o_block driver or pti_st driver
write throughput 4.9MB/s
read throughput 0.48MB/s
Really crappy! And the read is about 10 times slower than write. Both 
i2o_block and pti_st performs equally abysmal.

sx6000 bios "Linux", pti_st driver
write throughput 7.2MB/s
read throughput 34MB/s
Better but not good enough

sx6000 bios "Windows NT", pti_st driver
performance is comparable but slightly worse than with the "Linux" setting.


With "Other OS" bios setting the raid card emits three short beeps every 
12-16 seconds, with "Linux" setting it beeps once every 2 seconds. The 
manual doesn't say anything about this, but it must be bad.
I guess it's related to the "lost interrupt" stuff?

Promise has a firmware update (build 77) on their page. It supposedly fixes 
some problems with MPX mobos.
Flashing the card with the incorrect bios setting ruins it. It's a bug in 
the patch according to promise support personell.
I'm going to check with promise support to see if this update will fix the 
problems I have with throughput, beeps and "lost interrupt", and to get 
the correct upgrade procedure.

I'll post again when I've got the info I need from promise support.

Jimmy


--
[EMAIL PROTECTED] mailing list

Reply via email to