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
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel