On Fri, Oct 29, 2004 at 10:07:33AM +0200, Axel Waggershauser wrote: > Hi, > > 1. looks like every byte transfered with your "fast usb" lib is > memcopied at least two times: in your fusb*.cc code and in the usbfs > kernel code, right? Meaning worrying about sg-list "optimized" drivers > is sort of unnecessary...
You can optimize out one of the copies if the user is handing you large requests. ``Premature optimization is the root of all evil'' -- Our measurements using oprofile haven't indicated that it's worth bothering with. The overhead of the memory copy is much less than the overhead of making the system call with smaller i/o blocks. We started with 4K transfers but the system overhead was considerably greater than with 16K. > 2. with your "bypassing" of the libusb by accessing the fd inside the > usb_dev_handle and queuing multiple urbs at once, you do what Johannes > meant by > > We can go even further by using multiple URBs and queuing > > them, but libusb doesn't currently do that. That's correct. > 3. if I would use your fusb* code in a proprietary app, I would clearly > violate the GPL, right? I'll get back to you on this, though in general, I don't believe that linking with a GPL library necessarily causes a problem. > 4. would it be possible to somehow migrate your fusb code/ideas into > libusb (changing from GPL to LGPL), thereby allowing me to profit from > that code? I would be glad to help here (my only option is to write > yet-another kernel driver :-/). Maybe this could be combined with what > Duncan Sands just posted, namely to use sg-lists to avoid the > unnecessary memcopies to further increase performance? Eric ------------------------------------------------------- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel