虽然在对内核进行各种改进以处理 P 和 E 内核的混合之后,Linux 上的 Intel Alder Lake 和现在的 Raptor Lake 混合处理器支持状况良好,但偶尔会有一些警告。本周发布了一组围绕硬件 P 状态 (HWP) 校准的英特尔 P 状态驱动程序修复程序,以确保它适用于所有英特尔混合平台。
英特尔工程师和 Linux 电源管理子系统维护者 Rafael Wysocki 发送了两个补丁集,以确保 HWP 校准在所有平台上都能正常工作。他用这封解释情况的求职信 总结了补丁系列:
intel_pstate 中的 HWP 校准需要以可靠的方式将 HWP 性能级别映射到 cpufreq sysfs 接口中使用的频率。在所有非混合“核心”平台上,将 HWP 性能水平乘以 100000 即可获得相应的频率,但在混合平台上,P 核心和 E 核心之间存在差异。
以前进行这项工作的尝试是基于使用 CPPC(特别是 _CPC 提供的标称性能值),但事实证明 CPPC 信息对此目的不够可靠,唯一的方法是使用P 核和 E 核的硬编码比例因子(幸运的是,这与非混合情况下的相同)。幸运的是,迄今为止,P 核的相同比例因子适用于所有混合平台。
该系列的第一个补丁通过避免在一个 CPU 上读取的 MSR 值将用于另一个 CPU 的性能扩展的情况,确保所有 CPU 将使用来自 MSR 的正确信息。
第二个实现了上述方法。
第一个补丁还进一步解释了:
intel_pstate 中的一些 MSR 访问是在运行代码的 CPU 上执行的,但来自它们的值用于其他 CPU 的性能扩展。
这是有问题的,例如,在 P-core 和 E-core 的 MSR_TURBO_RATIO_LIMIT 不同的混合平台上,因此从 P-core 上读取的值通常不适用于 E-core,反之亦然。
这是对 2021 年 9 月排队的英特尔 P-State HWP 校准代码的“修复”。
Intel Core i9 13900K “ Raptor Lake”处理器在 Linux 上运行良好。
到目前为止,Rafael 已经将 P-State 补丁加入到他的linux-pm.git 的 linux-next 分支中,使其适用于 Linux 6.2。但考虑到它也是英特尔处理器的解决方案以及 P-State 驱动程序存在一年之久的问题,它也有可能被向后移植到现有的 Linux 稳定系列。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun197026.html