参数 max_newidle_lb_cost 的实际含义是什么?

参数 max_newidle_lb_cost 的实际含义是什么?

调度域这个参数是什么意思?

例如kernel.sched_domain.cpu0.domain0.max_newidle_lb_cost = 11372

答案1

max_newidle_lb_cost跟踪每个域的空闲负载平衡的最大成本。补丁介绍max_newidle_lb_cost该过程描述如下:

[w]我们跟踪我们为每个调度域进行空闲负载平衡所花费的最大成本。如果CPU保持空闲的平均时间小于我们已经花费在空闲平衡上的时间+调度域中空闲平衡的最大成本,那么我们就不会继续尝试平衡。我们还保留每个 rq 变量 max_idle_balance_cost,它跟踪所有域中 newidle 负载平衡所花费的最大时间,以便我们可以确定 avg_idle 的最大值。

通过使用最大值,我们可以避免超出平均值。这进一步减少了当 CPU 空闲时间不超过平衡成本时我们尝试平衡的机会。

一般的想法是,如果空闲 CPU 保持空闲的时间少于负载平衡的成本,那么对空闲 CPU 进行负载平衡就没有意义 —IE他们自然会在比负载平衡所需的时间更少的时间内完成工作。

相关内容