Thread (66 messages) 66 messages, 6 authors, 2013-06-15
STALE4780d
Revisions (16)
  1. rfc [diff vs current]
  2. rfc [diff vs current]
  3. rfc current
  4. rfc [diff vs current]
  5. rfc [diff vs current]
  6. rfc [diff vs current]
  7. rfc [diff vs current]
  8. rfc [diff vs current]
  9. rfc [diff vs current]
  10. rfc [diff vs current]
  11. rfc [diff vs current]
  12. rfc [diff vs current]
  13. rfc [diff vs current]
  14. rfc [diff vs current]
  15. rfc [diff vs current]
  16. v3 [diff vs current]

[RFC PATCH 0/4] USB: HCD/EHCI: giveback of URB in tasklet context

From: stern@rowland.harvard.edu (Alan Stern)
Date: 2013-06-10 15:33:55

On Mon, 10 Jun 2013, Oliver Neukum wrote:
On Monday 10 June 2013 10:03:00 Alan Stern wrote:
quoted
[Thomas and Steve, please see the question below.]

On Mon, 10 Jun 2013, Ming Lei wrote:
quoted
That isn't clear.  It is documented that USB completion handlers are 
called with local interrupts disabled.  An IRQ arriving before the 
tasklet starts up might therefore be serviced during the short interval 
before the tasklet disables local interrupts, but if that happens it 
would mean that the completion handler would be delayed.
That is what tasklets do by definition, isn't it?
Yes.  Although tasklets in general have no reason to leave interrupts 
disabled.
quoted
In effect, you are prioritizing other IRQs higher than USB completion
handlers.  Nevertheless, the total time spent with interrupts disabled
will remain the same.
It pobably slightly increases. You have colder caches twice.
And potentially you swich CPUs.
Actually, the situation is a little better in one respect, which was
pointed out earlier but not emphasized.  The DMA unmapping can be
deferred to the tasklet, and it can run with interrupts enabled before
the completion hanlder is called.  Since the unmapping sometimes takes
a while to run, this is an advantage.

Alan Stern
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help