http://lwn.net/Articles/302580/

Posted Oct 10, 2008 8:53 UTC (Fri) by jake (editor, #205)
In reply to: Moving interrupts to threads by magnus
Parent article: Moving interrupts to threads

> I don't quite understand, exactly how does threaded interrupt handlers
> reduce the time needed to be spent with interrupts disabled? Couldn't a
> traditional interrupt handler also immediately just ack the interrupt and
> re-enable interrupts?

Sorry I wasn't more clear in the article. Without threaded interrupts, there is no mechanism for the rest of the work to get done without being explicitly arranged for by the top half (i.e. tasklets or workqueues). This necessitates locking and synchronization between the two pieces. Workqueues have a fair amount of overhead and tasklets must still run atomically (i.e. no sleeping, etc.) as well.

Threaded interrupts provide the mechanism for additional work to be done outside of the top half, more or less automatically.

Hopefully I didn't botch this explanation as well :)

jake


Moving interrupts to threads

Posted Oct 16, 2008 8:42 UTC (Thu) by neli (subscriber, #51380) [Link]

Don't these threaded interrupt handlers have even more overhead than workqueues? Workqueues are at least handled sequentially in the same thread; using threaded interrupt handlers means there are even more context switches.

Reply via email to