//// do_IRQ 函数执行完硬件 ISR 后退出时调用此函数。//void irq_exit(void){ account_system_vtime(current); trace_hardirq_exit(); sub_preempt_count(IRQ_EXIT_OFFSET); // // 判断当前是否有硬件中断嵌套,并且是否有软中断在 // pending 状态,注意:这里只有两个条件同时满足 // 时,才有可能调用 do_softirq() 进入软中断。也就是 // 说确认当前所有硬件中断处理完成,且有硬件中断安装了 // 软中断处理时理时才会进入。 // if (!in_interrupt() && local_softirq_pending()) // // 其实这里就是调用 do_softirq() 执行 ...[ 查看全文 ]