免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: smalloc
打印 上一主题 下一主题

[内核入门] 进程上下文的local_irq_disable不能让内核挂起? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2012-11-13 13:43 |只看该作者
回复 2# George_lz


    disable 中断情况下,主动调用schedule,当然会切换到其他进程的。实际上schedule内部就取了rq的spinlock并且disable了中断。但是话说回来,一般内核代码再diable中断的情况下,就不应该主动去调用schedule,否则可能会引起一些内核同步的问题。disable中断本身也是一种同步机制。

论坛徽章:
0
12 [报告]
发表于 2012-11-13 16:11 |只看该作者
回复 11# blake326


    “disable 中断情况下,主动调用schedule,当然会切换到其他进程的。实际上schedule内部就取了rq的spinlock并且disable了中断。”
   这个自然是这样的。你没明白我的意思,我的意思是: 在关闭cpu中断后(preempt enable / SMP),调用schedule, 是否会影响到后续任务的调度(既:在后续任务非主动schedule时,系统的调度动作如何。个人猜想,此时调度状况,应该与preempt disable 时相类似。在这种情况下的调度策略,没太关注,不知道kernel具体是怎么做的)

论坛徽章:
0
13 [报告]
发表于 2012-11-13 20:14 |只看该作者
回复 12# George_lz


    disable中断之后没有办法抢占了,中断返回才会检查是否抢占。

论坛徽章:
0
14 [报告]
发表于 2012-11-13 21:04 |只看该作者
回复 13# blake326

调度  不等于 抢占。以上说的与抢占无关

论坛徽章:
0
15 [报告]
发表于 2012-11-14 13:56 |只看该作者
回复 14# George_lz


    disable中断之后,除了主动schedule,没有其他办法调度了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP