我有一个长期的习惯,就是构建我自己的内核(不时地),使用只带有ConKolivas补丁的库存源、-O3而不是我可以设置的-O2优化,并使Core2系列的CPU成为目标。配置最初基于Ubuntu14.04提供的最新内核之一;基本上,我在其中禁用的唯一内容是与AppArmor、SELinux和家庭相关的设置。
我几年前构建的最新内核是4.14.23。它可以正常工作,在一台每天至少挂一次的笔记本电脑上运行很长时间,但偶尔挂起程序仍然会被卡住,电源LED仍然开着,我需要启动这台机器。确切的症状已经报道过无数次了。
本周,我升级到4.19.133 (这是我开始构建和严格测试时的当前版本)。最后,我升级了我的主安装,认为我已经测试了所有的东西,结果却发现挂起问题是有系统的。
德文·贝奥武夫(又名Debian )的稍老4.19.0-9内核没有受到影响,但令人恼火的是,配置差异太多,无法找到关键区别。我在内核中尝试了相同的XHCI配置,但这没有帮助。
我还没有发现任何关于这个特定内核版本的挂起问题的报告,所以我对当前版本(137)有一个修复没有很高的期望,但我们会看到。
有人能给我一个真正的答案吗?这里会出什么问题和/或我怎样才能阻止它?youtube上有一段关于5.x内核补丁的视频,我怀疑它对我有什么用处。
注:我的主要系统还在Kubuntu 14.04上,我正在和德文·贝奥武夫建立第二个系统。换句话说,这两种系统都是免费的。
发布于 2020-08-07 09:56:47
我刚从4.19.0-9升到4.19.0-10。我的PC在4.19.0-10内核上停止了正确的挂起.我必须用电源按钮才能醒过来。在这两个版本之间切换重新启动,我可以验证我的挂起问题只发生在4.19.0-10版本。我还没有在SYSLOG中发现任何真正的问题,尽管在一个正常运行的系统中似乎有更多的ACPI条目。也许这个小小的版本差异可以帮助人们缩小这个问题。
发布于 2020-08-11 08:29:18
我想我可能只是偶然发现了一些答案,或者至少修复了用Con (ck1)补丁构建的内核--用于5.7内核。It 不应该叫finish_当断开内核时cpu()。考虑到我看到的症状,这听起来确实是一个非常合理的解释:如果finish_cpu()做了我认为的那样,这意味着在调用该函数之后,这个cpu就不能再做任何事情了(我希望固件在安全的情况下会执行相同的操作)。
-ck1内核的用户可以尝试应用提交muqss: Revert invocation of "finish_cpu" when offlining core。这实际上并不会还原补丁所做的更改,所以可能补丁也会或可以应用于股票内核。非常简单。
https://unix.stackexchange.com/questions/603229
复制相似问题