完全公平调度 c语言,完全公平调度器(cfs)系列文章(二)

wangxingchao20102010-03-29 22:34

你好,博主,我看在linux SMP负载时,遇到几个问题,不是很清楚,想请您帮忙解释下,我是初学者,谢谢啦~~~

1:调度域中load balance串行化表示什么意思?在调度过程中有什么样作用?

2:有这样一段代码

BUG_ON(busiest==this_rq);

schedstat_add(sd,lb_imbalance[idle],imbalance);

ld_moved=0;

作者的解释是:不可能找到的最忙队列是本地队列,如果出现这种情况,打印出Oops

我想问的是 :为什么本地队列不可能是busiest队列,是因为本地队列所属的CPU是load balance的发起者吗?就是说本地队列应该是空闲的吗,所以不是busiest??

3:load balance的时机有哪些?

空闲的CPU、tick中断(这个tick是每个cpu都有这样的一个时钟吗?)

还有其他的load balance的时机吗?

4:linux SMP负载平衡中 有这样的一段,我也是不懂,希望作者帮忙解释一下

/*如果繁忙运行队列中的运行任务数小于等于1(空闲进程),该运行队列不需要被调度平衡(是因为没有运行任务数或者空闲进程吗?),但调度组仍然是繁忙的(没有运行任务数,或者只有空闲进程,这样的运行队列怎么可能是最忙的,不懂?????)*/

5:条件sd->nr_balance_failed>sd->cache_nice_tries+2表示什么意思?sd->cache_nice_tries变量表示什么意思?

6:调度域中组与组之间的负载平衡、组内部的负载平衡执行顺序是怎么样的??这里我看了好多资料都迷糊了。

很多资料上是这样说的:先找到最繁忙的组,再找到该组中最繁忙的运行队列,然后再进程迁移,这里的迁移是尽限最繁忙组内部的吗?那什么进行组与组之间的负载平衡呢???很不解~~~

希望博主能帮忙看下,感激不尽~~

谢谢~~~

===============

最近太忙了,等我有时间仔细回复你

或者你加我msn wxc200@hotmail.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值