Am Freitag, 15. April 2005 22:59 schrieb Alan Stern: > On Fri, 15 Apr 2005, Oliver Neukum wrote: > > > Am Freitag, 15. April 2005 19:38 schrieb David Brownell: > > > > IMHO the best way to reduce times is to move all memory > > > > allocations into urb allocation. > > > > > > That's an approach I've thought about. Unfortunately it's costs an > > > invasive > > > API change: passing the device (or better yet, usb_host_endpoint) into > > > the URB allocation. Though to clarify: that would affect allocation of > > > TDs and any urb-private data, not the data buffers. Something like > > > > > > usb_urb_alloc(usb_host_endpoint *ep, // hook to HCD > > > size_t maxbuf, // ... for prealloc of N TDs > > > unsigned n_iso, > > > unsigned gfp_flags); > > > > > > > It is pretty straightforward a change. Auditing locking in all drivers is > > not. > > Switching to tasklets would result in revisting locking in drivers. > > Why would switching uhci-hcd over to a tasklet require any change in other > drivers?
You have to audit all drivers to check them for synchronization between the callback and other hard irqs. In addition to reap the full benefit from a switch to tasklets, you'd have to change the drivers to use spin_lock_bh(). Regards Oliver ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95&alloc_id396&op=click _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel