On Thursday 06 January 2005 1:24 pm, Greg KH wrote: > > P.S.: When designing new API, please do not make it unnecessary > > complicated. > > USB video needs rather large bandwidth and low latency, so please no ASCII > > strings, and scatter-gather aware API helps a bit... > > In measurements published on linux-usb-devel, pure userspace calls using > the current usbfs code generated almost full bandwidth usage (within the > hardware limits). So adding the scatter-gather api interface to usbfs > wouldn't really provide that much benefit.
Actually, the measurements I recall were using that nasty usbfs-specific async API ... or using huge buffers with the synchronous/blocking calls, so the hiccups added by scheduling latencies didn't kick in very often. > And, we can always use help in designing such an API, if you could find > someone at your company to help us out in doing so... :) Or just doing something like gadgetfs, where the standard Linux "libaio" calls work just fine. I was certainly able to stream 24 Mbyte/sec isochronous transfers (that's the top speed possible with one high speed ISO endpoint). The key point is that one userspace IOCB should map directly to one URB in the kernel; and one userspace file (descriptor) should map to one USB endpoint. For a host side API, it turns out that isochronous URBs already have limited scatter/gather style support -- each one maps to several packets. I think it'd be best to use the existing AIO support rather than have usbfs2 create yet another USB-specific thing. - Dave ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel