do_irqd() {
while (!kthread_should_stop()) {
if (!down_interruptible(&desc->thrsem)) {
local_irq_disable();
desc->thrhandler(irq,&__ipipe_tick_regs[cpu]);
local_irq_enable();
}
}
}
/----------------------
Note: the semaphore here acts as a counter. So multi interrupt will not lost.
-----------------------/
No comments:
Post a Comment