软中断可以抢占系统调用?
系统调用可以被硬中断打断,书上硬中断返回时会看有没有软中断,那软中断可以抢占系统调用?
是不是从硬件中断进入软中断,不算是任务切换?
应该不行吧?否则在系统调用中都不能加锁了。。。
是不是从硬件中断进入软中断,不算是任务切换?
应该不行吧?否则在系统调用中都不能加锁了。。。
作者: donotgiveup 发布时间: 2011-02-10
理论上 硬中断+软中断= 完整的中断处理程序,所以说软中断可以抢占系统调用也行得通,不过是由硬中断触发引起的
作者: baozhao 发布时间: 2011-02-10
能给出代码证明吗?
理论上是可行的。。。
理论上是可行的。。。
作者: donotgiveup 发布时间: 2011-02-10
在irq_exit会检查是否要执行软中断。
作者: donotgiveup 发布时间: 2011-02-10
可以,所以系统调用 和 软中断 临界区互斥的时候, 系统调用要加禁止 软中断的锁函数, *_bh() 。
低优先级系统调用的可以通过关闭软中断来避免死锁的发生
低优先级系统调用的可以通过关闭软中断来避免死锁的发生
作者: tuibo 发布时间: 2011-02-10