码迷,mamicode.com
首页 > 其他好文 > 详细

CFS 调度器

时间:2017-07-27 00:53:39      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:eem   地方   ast   执行   唤醒   task   dea   pat   代码   

CFS调度器的原理明白了但是有个地方,搜遍了整个网络也没找到一个合理的解释:

if (delta > ideal_runtime)

  resched_task(rq_of(cfs_rq)->curr);

这出代码是在patch:f685ceaca 

sched: Strengthen buddies and mitigate buddy induced latencies

patch中描述和是LAST_BUDDY 和 wakeup preemption相关

buddy是什么意思?是调度队列中的而一个缓存,一个缓存LAST_BUDDY,一个是NEXT_BUDDY,其中LAST_BUDDY是上次执行唤醒操作的进程,NEXT_BUDDY是上次被唤醒的进程,这两个操作为什么这么不同?上面的调度还是考虑到普通的大众进程,还是没有考虑到进程冷热性。

为什么这里要单独考虑进程的冷热性?

为什么软件层面要考虑进程的冷热性?

为什么要考虑唤醒的进程和被唤醒的进程,唤醒的进程有什么特征,非唤醒的进程有什么特征?唤醒别人的进程|被别人唤醒的进程

不知道为啥子

CFS 调度器

标签:eem   地方   ast   执行   唤醒   task   dea   pat   代码   

原文地址:http://www.cnblogs.com/honpey/p/7242444.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!