免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1756 | 回复: 3
打印 上一主题 下一主题

[进程管理] cfs调度如何遍历所有的实体 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-06-09 16:30 |只看该作者 |倒序浏览
本帖最后由 DVD0423 于 2015-06-09 16:30 编辑

rt,不知道有没有大神知道如何遍历一个runqueue的所有实体,并找到相关进程?也就是如何遍历进程的红黑树。
因为实体包括单一进程和组进程,我对组进程的实体存储结构不是很清晰,所以我在修改内核的时候一直出现bug。望大神指点一二

论坛徽章:
0
2 [报告]
发表于 2015-06-11 16:00 |只看该作者
真的不是很懂啊  我也是菜鸟啊 我原来租用过一台服务器 linux服务器做网站的 现在网站用的虚拟主机  因为我不台会操作服务器 哈哈!可以去看看 给个小建议 www. dddzj .com

论坛徽章:
0
3 [报告]
发表于 2015-08-26 18:52 |只看该作者
回复 1# DVD0423

为什么要遍历红黑树?  红黑树是自平衡的,每次取最左边的结点就够了。

不过我看你描述,你所想表达的“遍历”是指从rq 上取一个 sched_entity 后, 如何一步一步到最后挑一个进程到cpu上运行吧。

组调度是个层级结构。

对 rq 来说, 它从它所看到的 cfq 上(即 rq-> cfq) 取一个 sched_entity, 它不管这是个进程, 还是一个进程组。

如果是进程组,在进程组内部选举。所以进程组内部又有一个 cfq, 在上面选举一个 sched_entity.  如果 该sched_entity 是
进程,搞定。否则,再往下一级, 又有一个cfq,以此递归。

   

论坛徽章:
0
4 [报告]
发表于 2016-01-12 20:48 |只看该作者
好久没登陆了,谢了,虽然有点晚了,但回答很有用。回复 3# l4rmbr


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP