在Linux内核中,rq-> cfs.load值到底是什么意思?

时间:2014-02-16 02:32:09

标签: linux linux-kernel

我是Linux内核的新手。我从这里开始阅读关于Linux的CFS调度程序

https://www.kernel.org/doc/Documentation/scheduler/sched-design-CFS.txt

我遇到了几行

运行队列中正在运行的任务总数通过以下方式计算: rq-> cfs.load值,它是在队列上排队的任务的权重之和 runqueue。

现在,如果rq-> cfs.load告诉可运行进程的总数,那么它应该是一个如下数字:
3 - > 3个过程可以运行
5 - > 5个流程可以运行

但是rq-> cfs.load的实际值是进程权重的总和。

我的问题是:

  1. 加权和如何说明可运行进程的数量?
  2. 这里的流程重量是什么意思?

1 个答案:

答案 0 :(得分:0)

我还是Linux的初学者。但据我所知,这意味着

  

1.我认为你有点困惑:每当进程数量增加(这是一个变化)时,一些调度参数需要是   改变。调度类的功能而不是计数   进程数,它使用它的负载值来计算它   参数。因此,变化(即过程数量的增加)是   计算(即考虑)计算负荷值   通过cfs_rq->加载变量。我们对cfs_rq-> load进行了此更新   通过总结过程的重量。


  

<强> 2。过程权重:过程权重通过其动态优先级计算。 Dynamic Prority是如何计算的?动态优先级计算:   静态优先级+“进程的调度类   计划的“(即实时与正常)用于计算动态   优先。计算不是简单的加法。阅读此Link from UTLK。阅读一些关于静态优先级的链接。