I'm not sure I'm really looking forward to this brave new world
of very long running interrupt handlers. e.g. what do you
do for example when some handler blocks for a very long time?
I had an old patch to handle this without threaded interrupts.
What normally happens is when a interrupt oopses it tries to kill the
idle process which panics. My fix was to just restart another idle
process instead of panicing.
But back then it was rejected by Linus with the argument that
a crashing interrupt handler will typically hold some lock
and the next time the interrupt happens it will deadlock on that
lock.
Has that changed with your threaded interrupts?
If it has changed I suspect the restart idle change could
be made to work to be equivalent in debuggability.
To be honest my opinion is that it will encourage badly written interrupt
code longer term.
-Andi
--
ak@linux.intel.com
--