Due to the battery missing every IO the host sends has to complete before the
next one goes down.  So the sequence of events is:
1. Send host io through driver
2. Firmware accepts it
3. Firmware creates 1 or more IOs and shoots those off to the disk
4. Firmware waits until IOs complete
5. Firmware raises interrupt to inform host that IO completed
6. ami(4) driver now completes the IO on the host
7. goto 1

Also if you want to test read/write performance you have to use the raw device.
A dd test should use for example /dev/rsd0c instead of a file.

Why don't you have a battery for that thing?

On a separate note; i do believe that LSI does have some firmware that'll allow
to enable write back cache without a battery.  I am not 100% sure about though.

On Wed, Aug 23, 2006 at 04:01:10AM +0200, Robert Urban wrote:
> below are the results of my tests with the LSI MegaRAID SCSI 320-2
> controller on 3.9-release and 4.0-beta (snapshot pulled on Aug 22, 2006).
> I tested writing to both a RAID-5 and a RAID-0 logical drive.  The
> RAID-0 drive consists of a single drive, what I'd call a JBOD.  While
> the test program was running, I had iostat running, and I noted the
> results next to each test.  The iostat values moved around a lot, so I
> took a figure close to the peak value.
> 
> Naturally all the async tests were influenced by the buffer cache to
> a certain extent.
> 
> I'm a little confused as to why writing sequential blocks with O_SYNC
> should be so slow...
> 
> Rob Urban
> 
> #======================================================
> # 3.9
> #======================================================
> 
> RAID-0 drive:
> ----------------
>       write-test:
>       ----------------------
> 
>           Sync
>           ----------------------
>           1 proc: 1.7MB/s
>                   iostat: 1.8MB/s
> 
>           2 procs: 1MB/s and 1MB/s
>                   iostat: 2MB/s
> 
>           Async
>           ----------------------
>           1 proc: 8.7MB/s
>                   iostat: 5MB/s
> 
>           2 procs: 11MB/s and 5.6MB/s
>                   iostat: 4.8MB/s
> 
>       dd if=/dev/zero of=testfile bs=64k count=4096
>       ----------------------
>       took 28.26 seconds, bw: 9MB/s
>       iostat reported: 4.6MB/s
> 
> RAID-5 drive:
> ----------------
>       write-test:
>       ----------------------
> 
>           Sync
>           ----------------------
>           1 proc: 1.1MB/s
>                   iostat: 1.2MB/s
> 
>           2 procs: 0.7MB/s and 0.7MB/s
>                   iostat: 1.6MB/s
> 
>           Async
>           ----------------------
>           1 proc: 10MB/s
>                   iostat: 3.2MB/s
> 
>           2 procs: 5.2MB/s and 5.2MB/s
>                   iostat: 5MB/s
> 
>       dd if=/dev/zero of=testfile bs=64k count=4096
>       ----------------------
>       took 39.1 seconds, bw: 6.5MB/s
>       iostat reported: 3.3MB/s
> 
> 
> #======================================================
> # 4.0-beta
> #======================================================
> 
> RAID-0 drive:
> ----------------
>       write-test:
>       ----------------------
> 
>           Sync
>           ----------------------
>           1 proc: 1.5MB/s
>               iostat: 3MB/s
> 
>           2 procs: 0.76MB/s and 0.76MB/s
>               iostat: 3.4MB/s
> 
>           Async
>           ----------------------
>           1 proc: 15MB/s
>                   iostat: 10MB/s
> 
>           2 procs: 8.2MB/s and 5.8MB/s
>                   iostat: 10MB/s
> 
>       dd if=/dev/zero of=testfile bs=64k count=4096
>       ----------------------
>       took 21.8 seconds, bw: 11.7MB/s
>       iostat reported: 10MB/s
> 
> RAID-5 drive:
> ----------------
>       write-test:
>       ----------------------
> 
>           Sync
>           ----------------------
>           1 proc: 1.02MB/s
>                   iostat: 2.5MB/s
> 
>           2 procs: 0.62MB/s and 0.62MB/s
>                   iostat: 2.9MB/s
> 
>           Async
>           ----------------------
>           1 proc: 9MB/s
>                   iostat: 6.3MB/s
> 
>           2 procs: 4.1MB/s and 3.8MB/s
>                   iostat: 6.5MB/s
> 
>       dd if=/dev/zero of=testfile bs=64k count=4096
>       ----------------------
>       took 35 seconds, bw: 7.3MB/s
>       iostat reported: 7MB/s

Reply via email to