Am Donnerstag, 16. Januar 2003 01:05 schrieb Greg KH: > On Thu, Jan 16, 2003 at 12:34:36AM +0100, Oliver Neukum wrote: > > Hi, > > > > I'd like to propose a small further patch. > > > > I want to bind URBs to usb_devices at allocation. > > usb_alloc_urb (int i, int mem_flags) -> > > usb_alloc_urb (struct usb_device *dev, int i, int mem_flags) > > and usb_fill_* loose the struct usb_device references. > > > > Explanation: > > The HCDs allocate and deallocate data structures during every submission. > > This is wasteful, but as long as an URB can be sent to several devices, > > it is unavoidable, because the devices may be be on busses controlled by > > different HCDs. > > So you would do the allocation at usb_alloc_urb() time instead? Do you
Yes. If the HCD provides a hook. Else we do it as we do know and profit only from a few cycles as usb_fill_* become faster. > have any statistics that show the current implementation is actually > slowing anything down? No. Does that mean you are volunteering to get me a USB2.0 storage device? Obviously there will be speed improvement in any case for any driver that doesn't use an URB pool common to all devices. I can't give you figures though. In addition there are strategic thoughts. Doing this change allows (although I think that it's 2.7 stuff) us to handle more of disconnect in usbcore. We can under these condition link all URBs of a device and walk the list if we detect a disconnect. If a driver allocates all URBs in probe() ,as many do, handling disconnect() becomes as easy as usbcore can make it. Regards Oliver ------------------------------------------------------- This SF.NET email is sponsored by: A Thawte Code Signing Certificate is essential in establishing user confidence by providing assurance of authenticity and code integrity. Download our Free Code Signing guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0028en _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel