Linus Torvalds在早期的Linux 6.8代码中遇到了糟糕的性能回归

2024年 1月 11日 39.5k 0


这并不是经常听到Linus Torvalds自己对Linux内核的性能退化发出警钟,但这发生在今天晚上正在进行的Linux 6.8合并窗口。Torvalds的AMD Ryzen线程裂解器系统突然遭受了更长的构建时间,至少是这个内核的新代码的结果。

今晚引起我注意的是 此消息由Linus Torvalds在一次“可怕的性能回归”上写的,并为Linux6.8编写了代码。他指出:

请注意,我目前正一分为二地参与这次合并,以实现可怕的业绩回归。

它使我的空内核构建从22秒缩短到44秒,并且使完整的内核构建变得非常慢。

我还没有完成对分,但它现在就在这个拉动中,所以我已经可以说我要在这里恢复一些东西,因为这让我的合并窗口变得很糟糕。

你已经被警告过了,

莱纳斯

这是对Linux 6.8的调度程序更改。对于像代码编译速度减半这样的工作负载的倒退来说,这是相当令人惊讶的,因为尽管Linux内核缺乏通用和健壮的持续集成(CI),但负责这些更改的内核开发人员似乎会注意到如此戏剧性的变化……尤其是如果代码已经通过了Linux-Next等。

不久前,他增列:

我想结果应该不会令人惊讶

9c0b4bb7f6303c9c4e2e34984c46f5a86478f84d是第一个错误提交

但为了干净利落地恢复,我必须恢复所有

B3edde44e5d4(“cpufreq/schedutil:使用固定参考频率”)

F12560779f9d(“sched/cpufreq:Rework iowait Boost”)

9c0b4bb7f630(“sched/cpufreq:Rework Schedutil调速器性能评估”)

这是一个32核(64线程)AMD锐龙Threadripper 3970X,fwiw。

我暂时会将该恢复保存在我的私有测试树中(这样我就可以再次拥有一台工作的机器),但我会很快将它移到我的主分支,除非有人有快速解决此问题的方法。

从这条信息中,有趣的是看到莱纳斯·托瓦尔兹仍然在摇摆AMD Ryzen Threadriper 3970X工作站。回到2020年托瓦尔兹改用开线器在使用英特尔系统15年以上之后。令人有点惊讶的是,近四年后,考虑到现在可以获得的更快的性能,特别是与Ryzen Threadriper 7000系列系统一起使用,他仍然依赖ThreadRipper 3970X主力系统。无论如何,这种回归似乎是由于CPUFreq Schedutil州长的回归。

CPUFreq schedutil governor performance estimation rework由Linaro编写,旨在处理uclamp限制。但似乎里面有什么东西引起了问题。截至发稿时,托沃兹还没有就此事做出其他回应或发出其他信息。

But at least with this being spotted early and by Torvalds himself and with still over a week to go until Linux 6.8-rc1, it will hopefully be sorted out in short order and well before the Linux 6.8 stable release due out in March.

相关文章

塑造我成为 CTO 之路的“秘诀”
“人工智能教母”的公司估值达 10 亿美金
教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
上海新增 11 款已完成登记生成式 AI 服务

发布评论