Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Mar 2010 22:46:40 +0100
From:      Hans Petter Selasky <hselasky@c2i.net>
To:        freebsd-usb@freebsd.org
Subject:   Re: How fast is the OHCI driver?
Message-ID:  <201003162246.40130.hselasky@c2i.net>
In-Reply-To: <4B9FA7CB.70200@embedded-brains.de>
References:  <4B9FA7CB.70200@embedded-brains.de>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201003162246.40130.hselasky>