英特尔电源管理负责人Rafael Wysocki最近发布了一组补丁,用于计算混合酷睿x86系统的不对称CPU容量。
这组三个补丁是通过混合P和E内核更好地增强Linux内核的现代核心系统的又一步。Wysocki在补丁系列中解释道:
“本系列的目的是为调度器提供基于英特尔硬件的x86混合系统上的非对称CPU容量信息。
不对称的CPU容量信息在混合系统中很重要,因为它允许以一致的方式计算系统中所有CPU的任务利用率,而不管它们的容量如何。这反过来又允许schedutil-cpufreq调控器在任务在不同容量的CPU之间迁移的情况下一致地设置CPU性能级别。它还应该有助于改善混合系统上的任务布局和负载平衡决策,这是EAS的关键。
根据补丁[3/3]的更改日志,有问题的信息来自MSR_HWP_CAPABILITIES寄存器,并由intel_postate驱动程序提供给调度器。Patch[2/3]引入了所需的拱形基础设施(以每CPU容量变量的形式),Patch[1/3]是初步的代码调整。
补丁[2/3]所做的更改非常简单,这就是为什么这个系列被作为RFC发送的原因。也就是说,它增加了非混合系统和混合系统的开销,这可能被认为是令人反感的,尽管开销的增加可以说并不显著。内存开销是每个CPU的一个无符号长变量,它不是很大的IMV,而且在每个arch_scale_CPU_capacity()调用站点上还有额外的内存访问开销,但我不认为这会引起注意。无论如何,额外的
可以避免开销,但代价是使代码更加复杂(例如,额外的每CPU内存只能在混合系统上动态分配,必要时可以使用静态分支来访问它)。我只是不确定额外的复杂性是否真的值得,所以我想知道x86维护人员对此的看法。如果你想避免开销,请告诉我。"
现代Intel Core笔记本电脑和台式机在现代Linux发行版上通常表现良好,但有时在P/E核心处理方面还有改进的空间。
These RFC patches will hopefully evolve into proper Intel P-State driver patches that can be upstreamed soon for better supporting modern Intel Core processors on Linux.