How fast is the OHCI driver?

Bernd Walter ticso at cicely7.cicely.de
Fri Mar 19 10:30:04 UTC 2010


On Fri, Mar 19, 2010 at 10:32:51AM +0100, Sebastian Huber wrote:
> On 03/16/2010 07:01 PM, Bernd Walter wrote:
> > On Tue, Mar 16, 2010 at 04:46:19PM +0100, Sebastian Huber wrote:
> [...]
> >> Has someone values from other FreeBSD based systems with an OHCI controller?
> > 
> > I can easily get more with AT91RM9200 (also ARM9 with OHCI).
> > A short test:
> > [73]chipmunk.cicely.de# dd if=/dev/da0 bs=128k of=/dev/null count=100
> > 100+0 records in
> > 100+0 records out
> > 13107200 bytes transferred in 16.762732 secs (781925 bytes/sec)
> > 
> > Speedwise the system is on the lowest end of ARM9 systems we support.
> > 
> 
> Thank you for your reference values.  Actually my test setup on the FreeBSD
> based system was bad.  I now have the following values:
> 
> TSZ:  Size of one transfer block in bytes
> TIME: Time to transfer 1024 blocks in seconds
> RATE: Bytes transfered per second
> 
> TSZ     TIME   RATE
>     512   6.15   85250
>    1024   7.17  146244
>    2048   8.20  255750
>    4096  10.24  409600
>    8192  13.38  626951
>   16384  21.50  780335
>   32768  36.92  908841
>   65536  67.92  988057
>  131072 131.39 1021521
>  262144 259.00 1036430
>  524288 514.16 1044170
> 1048576 964.04 1048532
> 
> So it looks very good if you use the right transfer size.

That's normal - Linux uses block devices, which prereads bigger blocks,
while we have character devices and have physical control.
The story isn't a problem if you use a filesystem, because it does
bigger reads.
The consumer code likely knows better what is worth to be preread and/or
cached.

-- 
B.Walter <bernd at bwct.de> http://www.bwct.de
Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm.


More information about the freebsd-usb mailing list