On Fri, 9 Apr 2004, David Brownell wrote:

> > On a related matter, do you think it would make more sense to do less work 
> > at interrupt time and move most of it to a bottom half?  I don't have a 
> > good feel for how much difference that would make overall.  (Also it's not 
> > clear how to deal with the pt_regs stuff in a bottom half.)
> 
> Well, DaveM didn't much like EHCI using a tasklet/BH there ... :)
> 
> Doing less at IRQ time is certainly good, but I think there are
> ways to shorten the code paths without doing that.  Device
> drivers should use tasklets if they have lots of work to do;
> HCDs normally just have a handful of TDs to process, and that
> should be quite reasonably done in an IRQ handler.

What about completion of a scatter-gather transfer for 64 KB or more, not
at all unusual for usb-storage?  Although the transfer is generally broken
up into 4-KB URBs (corresponding to memory pages), the s-g library uses
the URB_NO_INTERRUPT flag to suppress completion interrupts until all the
URBs have been transferred.  That interrupt will have to process 1024 or
more TDs and call 16 completion handlers.

Is that more than a handful?

Alan Stern



-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to