1.中断处理分为两部分的原因
下半部实现机制:软中断、tasklets和工作队列
2. 软中断机制
中断处理程序(也就是中断上半部)在返回前,标记它所对应的软中断,稍后在合适的时刻,软中断就会被执行
2.1软中断实现
2.2 软中断的使用
3. tasklet机制
4.ksoftirqd线程
对于软中断,内核会选择在几个特殊时机进行处理。而在中断处理程序返回时处理是最常见的。软中断被触发的频率有时可能很高(像在进行大流量的网络通信期间)。更不利的是,处理函数有时还会自行重复触发。也就是说,当一个软中断执行的时候,它可以重新触发自己以便再次得到执行(事实上,网络子系统就会这么做)。如果软中断本身出现的频率就高,再加上它们又有将自己重新设置为可执行状态的能力,那么就会导致用户空间进程无法获得足够的处理器时间,因而处于饥饿状态。而且,单纯的对重新触发的软中断采取不立即处理的策略,也无法让人接受。
解决方案: