How fast is the OHCI driver?

Hans Petter Selasky hselasky at c2i.net
Tue Mar 16 21:48:23 UTC 2010


On Tuesday 16 March 2010 16:46:19 Sebastian Huber wrote:
> Hi,
> 
> I work with an ARM9 based system on a LPC3250 evaluation board from Phytec.
>   It has an integrated OHCI USB controller from NXP.  The vendor provides a
>  Linux system for this board and with this system I can read with 1MByte/s
>  from an USB stick (I can also read with 23MByte/s from this stick on
>  another system with an EHCI controller).  If I use the FreeBSD USB-stack
>  (trunk revision 200101), then I can only achieve a read performance of
>  70kByte/s.  Comparing the activity on the USB data lines with an
>  oscilloscope of the two systems shows that on the Linux system the line is
>  continuously busy while on the FreeBSD based system there are huge gaps of
>  inactivity.  Both systems operate with 12MHz.  The FreeBSD based system is
>  65% of the time in the idle task, so it seems that it waits a lot for
>  something.
> 
> Has someone values from other FreeBSD based systems with an OHCI
>  controller?
> 
> Have a nice day!
> 	Sebastian Huber
> 

Hi,

This might be a symptom of the well known cache flush/sync problem. You should 
investigate whether all transfer descriptors get flushed/invalidated correctly 
to RAM after setting up an USB transaction.

There are sysctl under hw.usb.xxx where you can enable more verbose debugging.

--HPS


More information about the freebsd-usb mailing list