Gerard Roudier <[EMAIL PROTECTED]> wrote:
> You got about 14 MB/s. BTW, the Cheatah2 is able to sustain about 18 MB/s.

For this kind of testing (ie raw IO benchmark), I developped a kernel
module which does raw IO dma to a 64k buffer, no other overhead. The
benchmark can run completely in the kernel or go back to user space
at each IO. Kernel or user space doesn't make any difference since
you need a task context to sleep anyway (maybe a few MMU reloads).

The benchmark uses either the SCSI entry point, or the sd entry point,
or the queue_command() of the low-level driver.

With an IBM DGVS 9GB, none of the above gives different results (ok, a few
percents). I get the following values (write cache off).

READ
Upto LBA 896000 : 19735000 bytes/s.
Upto LBA 1664000 : 16922000 bytes/s.
Upto LBA 2432000 : 16922000 bytes/s.
Upto LBA 3200000 : 16916000 bytes/s.
Upto LBA 3968000 : 16817000 bytes/s.
Upto LBA 4736000 : 16819000 bytes/s.
Upto LBA 5504000 : 16821000 bytes/s.
Upto LBA 6272000 : 16819000 bytes/s.
Upto LBA 7040000 : 16616000 bytes/s.
Upto LBA 7808000 : 16514000 bytes/s.
Upto LBA 8576000 : 16405000 bytes/s.
Upto LBA 9216000 : 15987000 bytes/s.
Upto LBA 9856000 : 15972000 bytes/s.
Upto LBA 10496000 : 15713000 bytes/s.
Upto LBA 11136000 : 15466000 bytes/s.
Upto LBA 11776000 : 15187000 bytes/s.
Upto LBA 12416000 : 15187000 bytes/s.
Upto LBA 13056000 : 14616000 bytes/s.
Upto LBA 13696000 : 13968000 bytes/s.
Upto LBA 14336000 : 13645000 bytes/s.
Upto LBA 14976000 : 13125000 bytes/s.
Upto LBA 15488000 : 12820000 bytes/s.
Upto LBA 16000000 : 12549000 bytes/s.
Upto LBA 16512000 : 12016000 bytes/s.
Upto LBA 17024000 : 11475000 bytes/s.
Upto LBA 17536000 : 11006000 bytes/s.
Upto LBA 17920000 : 10551000 bytes/s.
WRITE
Upto LBA 512000 : 8837000 bytes/s.
Upto LBA 896000 : 6632000 bytes/s.
Upto LBA 1280000 : 6635000 bytes/s.
Upto LBA 1664000 : 6637000 bytes/s.
Upto LBA 2048000 : 6630000 bytes/s.
Upto LBA 2432000 : 6628000 bytes/s.
Upto LBA 2816000 : 6634000 bytes/s.
Upto LBA 3200000 : 6631000 bytes/s.
Upto LBA 3584000 : 6612000 bytes/s.
Upto LBA 3968000 : 6624000 bytes/s.
Upto LBA 4352000 : 6619000 bytes/s.
Upto LBA 4736000 : 6626000 bytes/s.
Upto LBA 5120000 : 6615000 bytes/s.
Upto LBA 5504000 : 6626000 bytes/s.
Upto LBA 5888000 : 6628000 bytes/s.
Upto LBA 6272000 : 6628000 bytes/s.
Upto LBA 6656000 : 6592000 bytes/s.
Upto LBA 7040000 : 6587000 bytes/s.
Upto LBA 7424000 : 6584000 bytes/s.
Upto LBA 7808000 : 6563000 bytes/s.
Upto LBA 8192000 : 6559000 bytes/s.
Upto LBA 8576000 : 6555000 bytes/s.
Upto LBA 8832000 : 6493000 bytes/s.
Upto LBA 9088000 : 6490000 bytes/s.
Upto LBA 9344000 : 6490000 bytes/s.
Upto LBA 9600000 : 6490000 bytes/s.
Upto LBA 9856000 : 6476000 bytes/s.
Upto LBA 10112000 : 6459000 bytes/s.
Upto LBA 10368000 : 6427000 bytes/s.
Upto LBA 10624000 : 6415000 bytes/s.
Upto LBA 10880000 : 6420000 bytes/s.
Upto LBA 11136000 : 6349000 bytes/s.
Upto LBA 11392000 : 6347000 bytes/s.
Upto LBA 11648000 : 6351000 bytes/s.
Upto LBA 11904000 : 6356000 bytes/s.
Upto LBA 12160000 : 6344000 bytes/s.
Upto LBA 12416000 : 6349000 bytes/s.
Upto LBA 12672000 : 6287000 bytes/s.
Upto LBA 12928000 : 6210000 bytes/s.
Upto LBA 13184000 : 6184000 bytes/s.
Upto LBA 13440000 : 6117000 bytes/s.
Upto LBA 13696000 : 6108000 bytes/s.
Upto LBA 13952000 : 6108000 bytes/s.
Upto LBA 14208000 : 6027000 bytes/s.
Upto LBA 14464000 : 6019000 bytes/s.
Upto LBA 14720000 : 5973000 bytes/s.
Upto LBA 14976000 : 5902000 bytes/s.
Upto LBA 15232000 : 5893000 bytes/s.
Upto LBA 15488000 : 5882000 bytes/s.
Upto LBA 15744000 : 5841000 bytes/s.
Upto LBA 16000000 : 5819000 bytes/s.
Upto LBA 16256000 : 5739000 bytes/s.
Upto LBA 16512000 : 5692000 bytes/s.
Upto LBA 16768000 : 5656000 bytes/s.
Upto LBA 17024000 : 5525000 bytes/s.
Upto LBA 17280000 : 5488000 bytes/s.
Upto LBA 17536000 : 5466000 bytes/s.
Upto LBA 17792000 : 5363000 bytes/s.
Upto LBA 17920000 : 5356000 bytes/s.

The writes are so bad because the wcache is off, and I issue upto
one command at a time.  Maybe I will post more details today.

We also have a few cheetah in stock, so maybe I can get a trace
with them (I only have a trace with 4 of those in one of our
SCSI-to-SCSI RAID boxes at the moment :))

When I have some time I will try to compare the speed of this to
the Direct IO. I assume it will be quite the same, and it's probably
a lot cleaner than what I did.

NB: I will ask today my boss if I can publish this software. It's really
    of no use if you don't want to compare raw IO benchmark, and noone
    needs that normally. It also generates (gnuplot) a graph for the
    whole disk. What is nice is that you can get the maximum theoretical
    IO rate even if you don't have a very fast machine.



-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]

Reply via email to