On Tue, Jul 06, 2004 at 04:32:28PM -0700, Julian Elischer wrote: > > So, we had a device that we access through ugen. > > the manufacturer said we should get the transaction in 3 seconds > and wiindows and linux did, but FreeBSD got it in 15 seconds. > I suspect since the code is the same, NetBSD would get the same result.. > > lokking at it I noticed that ugen does everything in 1K bits, > which is ok for USB1, but a bit silly for USB2. Mmm - 128k is very big - consider that you may have hundrets of ugen bulk pipes open - all with outstanding reads. This would eat up kernel memory quite fast. The problem is lost bus time between finishing an xfer and issuing the next one - consider that part of this lost time is OS dependend latency and in fact might be limited to FreeBSD. What about those options: - limit the allocated memory to the user request so we don't take the whole 128k if not reuired. - Do interleaving with 2 or more xfers if the read request is known to take more xfers. Naturally the situation with bulk writes is the same. -- B.Walter BWCT http://www.bwct.de bernd_at_bwct.de info_at_bwct.deReceived on Wed Jul 07 2004 - 07:14:27 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:00 UTC