网络子系统3_do_softirq调用点
来源:互联网 发布:金额分摊除不尽 算法 编辑:程序博客网 时间:2024/05/22 23:07
//中断退出时1.void irq_exit(void){ ... //递减中断嵌套深度 sub_preempt_count(IRQ_EXIT_OFFSET); //如果已经退出中断,并且软中断标志被置位 if (!in_interrupt() && local_softirq_pending()) //执行软中断 do_softirq(); ...}//APIC时钟中断中2.void __irq_entry smp_apic_timer_interrupt(struct pt_regs *regs){ ... irq_exit(); ...}//重新激活下半部时3.void local_bh_enable(void){ _local_bh_enable_ip((unsigned long)__builtin_return_address(0));}static inline void _local_bh_enable_ip(unsigned long ip){... if (unlikely(!in_interrupt() && local_softirq_pending())) do_softirq(); ...}