rq->cfs.load value 在 Linux 内核中到底代表什么?



我是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. 我们这里所说的过程的重量是什么意思

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

1.我想你有点困惑:每当进程数量增加(这是一个变化)时,一些调度参数需要已更改。调度类起作用,而不是计算进程的数量,它使用其负载值来计算参数。因此,变化(即进程数量的增加)是计算(即考虑在内)负载值通过cfs_rq->负载变量。我们对cfs_rq->load进行更新通过对过程的权重求和。


2。进程的权重:进程的权重通过其动态优先级来计算。动态优势是如何计算的?动态优先级计算:要处理的进程的静态优先级+"调度类scheduled"(即实时与正常)用于计算Dynamic优先事项计算不是简单的加法。从中读取此链接UTLK。阅读一些静态优先级的链接。

最新更新