【问题标题】:What exactly rq->cfs.load value represent in Linux kernel?rq->cfs.load 值在 Linux 内核中究竟代表什么?
【发布时间】:2014-02-16 02:32:08
【问题描述】:

我是 Linux 内核的新手。我正在从这里阅读有关 Linux 的 CFS 调度程序的信息

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

我遇到了几行

runqueue中运行任务的总数是通过 rq->cfs.load 值,即在队列中排队的任务的权重之和 运行队列。

现在,如果 rq->cfs.load 显示可运行进程的总数,那么它应该是一个类似的数字:
3 -> 3 个进程可运行
5 -> 5 个进程可以运行

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

我的问题是:

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

【问题讨论】:

    标签: linux linux-kernel


    【解决方案1】:

    我仍然是 Linux 的初学者。但据我了解,这意味着

    1.我想你有点糊涂了:每当进程数增加(它是变化)时,需要一些调度参数 改变了。调度类函数而不是计数 进程数,它使用它的负载值来计算它的 参数。所以变化(即进程数量的增加)是 计入(即考虑)来计算负载值 通过 cfs_rq->load 变量。我们更新了 cfs_rq->load 通过对过程的权重求和。


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

    【讨论】:

    • 谢谢!寻求帮助:)
    猜你喜欢
    • 2011-05-09
    • 2021-07-19
    • 2017-03-20
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多