加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读