Re: Question about change to ehci-hcd

David Brownell <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
On Wednesday 15 August 2007, Alan Stern wrote:
> It looks like the original code has a mistaken optimization there.  If 
> during a callback some driver submitted an URB and then unlinked it, 
> the unlink would effectively get lost.

Don't think so.  As the comment says, the intent is to ensure that
there's a clear sync point:  URBs submitted after that IRQ triggers
will not be processed by that IRQ.  (Modulo delays actually getting
to that QH.)  And since that's the only path through which unlinks
can ever be processed ... your scenario can't happen.

Why the sync point?  Various reasons, including fairness and wanting
to ensure a "loop forever in IRQ" bug is impossible, regardless of
any driver bugs of the "resubmit forever" variety.

Also ISTR seeing some issues with certain hardware (who knows, maybe
it was VIA again!) if the driver got "ahead" of IRQ issuing ... as if
the silicon did some operations out-of-order and used issuance of the
IRQ as a kind of re-sync point.  Which kind of sucks ... it precluded
using some software polling schemes to shrink IRQ loads.

- Dave



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.