CFS完全公平调度算法

struct sched_avg {
 /*
  * These sums represent an infinite geometric series and so are bound
  * above by 1024/(1-y).  Thus we only need a u32 to store them for all
  * choices of y < 1-2^(-32)*1024.
  */
 u32 runnable_avg_sum, runnable_avg_period;    /* 前一个:调度实体累计负载均衡值(不包括未进入运行队列期间的负载均衡值);后一个:调度实体累计负载均衡值*/
 u64 last_runnable_update;    /* 最近一次更新负载均衡值的时间,用ns表示 */
 s64 decay_count;    /* 衰减次数 */
 unsigned long load_avg_contrib;    /* 该调度实体对它所属的CFS_RQ队列的负载均衡贡献值 */
};


调度实体的负载均衡值周期性的被更新,由__update_entity_runnable_avg()函数实际执行该操作。struct sched_avg用于跟踪调度实体的负载变更情况。

 * We can represent the historical contribution to runnable average as the

 * coefficients 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值