28 4 月, 2024

Eddiba Sports

从亚洲的Eddiba获取最新的亚洲新闻:重大新闻,专题报道,分析和特别报道以及来自亚洲大陆的音频和视频。

修复了 Torvalds 观察到的 Linux 性能严重下降问题

修复了 Torvalds 观察到的 Linux 性能严重下降问题

在 Linus Torvalds 由于暴风雪而失去互联网和电力从而影响 Linux 6.8 集成窗口之前,他的周末已经很糟糕了,因为新的 Linux 6.8 代码导致他的 Linux 内核构建面临性能下降。 它是以前核心的两倍。 AMD Linux 工程师能够重现该回归,并且与主要开发人员一起,现在在最新的调度代码中找到了针对此问题的确认解决方案。

在讨论 Linus Torvalds 报告的因 Linux 6.8 中的调度程序更改而导致的重大性能回归时,对于拆分提交,开发人员并不清楚导致回归的原因。 在随后的讨论中,AMD 的 Wise Carney 发表了讲话 提及 它还可以重现回归。 Wyes 使用的是普通的 AMD Ryzen 5600G 台式机,而不是 Torvalds 使用的高端 AMD Ryzen Threadripper。 他提出的一个重要说明是,只有当您从 BIOS 禁用 ACPI CPPC 并将 ACPI CPUFreq 与 Schedutil 调控器一起使用时,才会重现这一情况。

大多数 AMD Zen 2 及更高版本的系统都支持 ACPI CPPC,因此对于 Ryzen 端的现代核心,它们通常使用新的 AMD P-State 驱动程序。 但对于 Zen 2 / Zen 3 和更早的系统(或从 BIOS 禁用 CPPC 的系统),仍然使用 CPUFreq 驱动程序,默认的 CPU 频率调节器通常是“Schedutil”以利用调度程序使用数据。

通过邮件列表上的这个帖子,提出了更正建议,并讨论了此回归的具体问题。 最终,Vincent Guiteau 相信他找到了回归问题的解决方案,并且 Wise 能够成功测试该补丁。

吉托现已发送 预定/公平:修复不稳定情况下的频率选择 作为修复使用 ACPI CPUFreq + Schedutil 时在新 Linux 6.8 代码上出现的不良回归的补丁。 解释并修正:

“当未启用频率持久性时,get_capacity_ref_freq(policy)返回当前频率和map_util_perf()应用的性能裕度,使使用量能够超过最大计算容量并选择高于当前频率的频率。

现在,性能裕度已在管道的早期应用,以解决某些使用限制,并且我们无法使使用量超过最大计算容量。

我们必须使用比当前频率更高的频率,以便在当前频率完全使用时有机会设置更高的 OPP。 应用相同的余量并返回比当前频率高 25% 的频率,以便在我们用完当前处理器中的整个 CPU 之前切换到下一个 OPP。”

最终,一行代码修复解决了这一性能下降问题,导致 Linus Torvalds 的空内核构建时间从 22 秒增加到 44 秒。

单线校正

假设新补丁的测试一切顺利,一旦 Linus Torvalds 的互联网和电力恢复,该修复应该会进入 Linux 6.8 Git 代码中。

READ  谷歌和知名电信集团呼吁布鲁塞尔对苹果的 iMessage 应用采取行动