linux-kernel – 为什么linux内核需要空闲线程?
发布时间:2020-12-14 01:18:19 所属栏目:Linux 来源:网络整理
导读:如果没有什么可做的(包括SMP),为什么 linux内核运行空闲线程而不是“什么也不做”? 解决方法 当调度程序决定切换到空闲任务时,此时动态节拍开始工作,通过禁用周期性节拍直到下一个计时器到期.在此时间跨度之后或在某个时间发生中断时,将重新启用滴答. 与此
如果没有什么可做的(包括SMP),为什么
linux内核运行空闲线程而不是“什么也不做”?
解决方法
当调度程序决定切换到空闲任务时,此时动态节拍开始工作,通过禁用周期性节拍直到下一个计时器到期.在此时间跨度之后或在某个时间发生中断时,将重新启用滴答.
与此同时,CPU将以特定于架构的方式进入当之无愧的睡眠状态,从而节省您的能力.看一下arch / x86 / kernel / process.c中cpu_idle()的定义. /* * The idle thread. There's no useful work to be * done,so just try to conserve power and have a * low exit latency (ie sit in a loop waiting for * somebody to say that they'd like to reschedule) */ void cpu_idle(void) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |