Right. Currently in the usual paths current is only used to compute
smp_processor_id() early in do_IRQ. This is no problem because the old
stack is probably still there. For later interrupts it makes not much sense
to compute current. So either outlaw it (add a check to current for a few
releases to catch it), or alternatively give the interrupts a special
task_structure that stays static - an "interrupt thread". This thread is
not scheduled, it just exists to have a current during interrupt processing.
> And for the race I think that we could fix it.
You have to check if you're already running on the interrupt stack, and
increment a counter if yes (otherwise you switch back to the wrong stack)
-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html