On Tue, 20 Apr 2004, Johannes Erdfelt wrote:

> On Tue, Apr 20, 2004, Alan Stern <[EMAIL PROTECTED]> wrote:
> > Following a suggestion of David Brownell's I have decided to remove
> > support for the URB_NO_INTERRUPT flag in the UHCI driver.  The overall
> > effect of the flag is to reduce the number of interrupts, thereby
> > improving throughput somewhat while increasing the duration of the
> > remaining IRQ handlers quite a lot (i.e., increasing interrupt variance).  
> > So I think we're better off without it.  Mind you, this is all in the
> > absence of any firm measurements.
> > 
> > A common case where this will come up is during usb-storage bulk
> > transfers.  Such transfers are generally divided into scatter-gather
> > components each corresponding to a single URB and transferring one memory
> > page (4 KB).  While generating an interrupt for each one is a little
> > faster than ideal -- about every 3 ms -- it's better than waiting until 64
> > KB has been transferred and there are 1024 individual TDs to clean up
> > during the IRQ.
> 
> Wouldn't this be better fixed in the USB storage driver?

Or rather, in the usb_sg_init() routine from the scatter-gather library.  
It could arrange to clear the URB_NO_INTERRUPT flag after every 10 ms 
worth of data or so, about 12 KB for a full-speed bus (see table 5-9 in 
the USB 2.0 spec).  What do you think, David?

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