Subject: Re: uhci kernel code and uvisor interface.
To: Scott Presnell <srp@tworoads.net>
From: Lennart Augustsson <lennart@augustsson.net>
List: tech-kern
Date: 04/09/2003 23:54:33
I don't think there has been any work on figuring out why the uvisor
driver is so slow.  It probably requires a bus analyzer to do it right.

    -- Lennart

Scott Presnell wrote:

> Hi Folks,
>     I'm running a modified NetBSD-1.5.2/i386 kernel that
> includes patches to the uhci USB kernel code.  I've patched uhci.c
> to version 1.125, to take advantage of the "bandwidth reclamation"
> concept for a particular device+driver (Intel Pocket Concert MP3
> player). This change increased the throughput for this device about
> 10x.
>
> Unfortunately this has also impacted the uvisor (and I guess ucom)
> interface.
>
> Using pilot-xfer (pilot-link{,-libs} 0.11.7 per pkgsrc) and modifying
> the code to show throughput, I've found with the bandwidth reclamation
> code in place a slowdown to about 0.25x (from 2-4KB/s to 0.5 KB/s)
> for large Palm databases. This is with a Handspring Visor rev 1.00/1.00
>
> (Going back to the 1.5.2 stock code with the same userland code raises
> the rate back to where it was; not that it was great, but it wasn't
> nearly as painful.)
>
> I note that this is still in the src/sys/dev/usb/TODO:
>
> ===
> General:
> --------
>
> Figure out why uvisor is so slow.
> Try to get specs, and check if Linux driver is really right.
> ===
>
> How do 1.6 users find the uvisor interface?
>
> Can anyone point me to uvisor/ucom/uhci revision levels or partcular 
> patches
> that provide for reasonable speed for the uvisor interface?  I'm not 
> finding
> any pointers in the cvs notes that would help me determine this.
>
>     Thanks for any clues or help.
>
>     - Scott
>