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

Reply via email to