免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1645 | 回复: 2

[进程管理] 关于组调度的tg->shares疑问。。。 [复制链接]

论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2015-09-29 15:10 |显示全部楼层
这个函数是何含义?(SMP时使用)
求指点,谢谢!
  1. static long calc_cfs_shares(struct cfs_rq *cfs_rq, struct task_group *tg)
  2. {
  3.     long tg_weight, load, shares;

  4.     tg_weight = calc_tg_weight(tg, cfs_rq);
  5.     load = cfs_rq->load.weight;

  6.     shares = (tg->shares * load);
  7.     if (tg_weight)
  8.         shares /= tg_weight;

  9.     if (shares < MIN_SHARES)
  10.         shares = MIN_SHARES;
  11.     if (shares > tg->shares)
  12.         shares = tg->shares;

  13.     return shares;
  14. }
复制代码

论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2015-09-29 20:00 |显示全部楼层


load_weight = atomic_read(&tg->load_weight);  
load_weight -= cfs_rq->load_contribution;  
load_weight += load;  
求解释啊

论坛徽章:
1
水瓶座
日期:2013-10-14 10:55:54
发表于 2016-04-07 23:33 |显示全部楼层
每个cgroup的shares默认都是1024,一个cgroup的进程是可以分配到每个cpu上的,所以每个tick都需要重新计算tg在这个cpu上的shares,会决定它的load.weight。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2021中国系统架构师大会

【数字转型 架构重塑】2021年5月20日-22日第十三届中国系统架构师大会将在云端进行网络直播。

大会为期3天的议程,涉及20+专场,近120个主题,完整迁移到线上进行网络直播对会议组织来说绝非易事;但考虑到云端会议的直播形式可以实现全国各地技术爱好者的参与,也使ITPUB作为技术共享交流平台得到更好的普及,我们决定迎难而上。
http://sacc.it168.com/


大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP