驱动: 中断【3】为什么可能导致睡眠的函数都不能在中断上下文中使用呢?...

本文探讨了Linux内核中为何不能在中断上下文中进行睡眠或调度操作,并解释了这背后的技术原因。若在中断路径中发生调度,系统将无法正确返回到中断处理程序,导致未完成的任务永远失去执行机会。

再思linux内核在中断路径内不能睡眠/调度的原因(2010)  http://blog.youkuaiyun.com/maray/article/details/5770889  中的结论:

Linux是以进程为调度单位的,调度器只看到进程内核栈,而看不到中断栈。在独立中断栈的模式下,如果linux内核在中断路径内发生了调度(从技术上讲,睡眠和调度是一个意思),那么linux将无法找到“回家的路”,未执行完的中断处理代码将再也无法获得执行机会。

 

为什么可能导致睡眠的函数都不能在中断上下文中使用呢? http://www.cnblogs.com/hoys/archive/2012/06/28/2567622.html

该文旁征博引了许多博文,需要辩证的看待。

 

 源于cnblogs 张昺华-sky主页, http://www.cnblogs.com/sky-heaven/, 园龄不大,但转了很多好贴,有料。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值