软中断可以抢占系统调用?

系统调用可以被硬中断打断,书上硬中断返回时会看有没有软中断,那软中断可以抢占系统调用?

是不是从硬件中断进入软中断,不算是任务切换?

应该不行吧?否则在系统调用中都不能加锁了。。。

作者: donotgiveup   发布时间: 2011-02-10

理论上 硬中断+软中断= 完整的中断处理程序,所以说软中断可以抢占系统调用也行得通,不过是由硬中断触发引起的

作者: baozhao   发布时间: 2011-02-10

能给出代码证明吗?
理论上是可行的。。。

作者: donotgiveup   发布时间: 2011-02-10

在irq_exit会检查是否要执行软中断。

作者: donotgiveup   发布时间: 2011-02-10

可以,所以系统调用 和 软中断 临界区互斥的时候, 系统调用要加禁止 软中断的锁函数,  *_bh() 。
低优先级系统调用的可以通过关闭软中断来避免死锁的发生

作者: tuibo   发布时间: 2011-02-10