preempt_disable后在schedule是调度不了的?
时间:2010-11-10
来源:互联网
如题,实验了一下,是不能调度的
我的想法就是关闭抢占后,除非这进程的代码执行完自己preempt_enable,
之后自己调用schedule或者中断或者哪里执行了schedule才会使这个进程放弃cpu
否则,如果此进程一直没有preempt_enable的话就会一直在这个进程里,我这个理解对吗?
还有哪位同学能告诉我除了返回用户态之前会schedule,还有哪些地方会schedule? ----- 这是个初级问题,我知道,但是还希望拿出来讨论下,这样效果好,请勿见怪,多谢
我的想法就是关闭抢占后,除非这进程的代码执行完自己preempt_enable,
之后自己调用schedule或者中断或者哪里执行了schedule才会使这个进程放弃cpu
否则,如果此进程一直没有preempt_enable的话就会一直在这个进程里,我这个理解对吗?
还有哪位同学能告诉我除了返回用户态之前会schedule,还有哪些地方会schedule? ----- 这是个初级问题,我知道,但是还希望拿出来讨论下,这样效果好,请勿见怪,多谢
作者: unbutun 发布时间: 2010-11-10
up
up
up
作者: unbutun 发布时间: 2010-11-11
本帖最后由 snail_314 于 2010-11-11 10:49 编辑
回复 unbutun
关闭抢占只是关闭内核态的抢占,即当进程运行在内核态时是不会被莫名其妙的调度出去的,但是,自己显示地调用schedule(比如一些wait_event,sleep_on函数等)向os表达主动放弃cpu,还是可以被调度走的.
除了从系统调用返回,从中断返回时是调用点外;所有运行在用户态的时间都是调用点啊
回复 unbutun
关闭抢占只是关闭内核态的抢占,即当进程运行在内核态时是不会被莫名其妙的调度出去的,但是,自己显示地调用schedule(比如一些wait_event,sleep_on函数等)向os表达主动放弃cpu,还是可以被调度走的.
除了从系统调用返回,从中断返回时是调用点外;所有运行在用户态的时间都是调用点啊
作者: snail_314 发布时间: 2010-11-11
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28