Intel Bay Trail CPU 问题会在 17.04 中修复吗?

Bas*_*sem 11 kernel intel

许多人在使用 Ubuntu 14.04、16.04 和 16.10 时遇到系统完全冻结的问题,我就是其中之一。

在我尝试下载并测试之前,我想知道 Ubuntu 17.04 是否会解决该问题,是否已经在 17.04 的试用 ISO 映像中修复了该问题。

Zan*_*nna 16

TL;DR - 我的研究表明它没有在 17.04 测试版映像或版本中修复,但我对 17.10 寄予厚望。

当处理器尝试进入内核不支持的低功耗状态(c 状态)时,就会发生这些冻结。这个问题是由

commit 8fb55197e64d5988ec57b54e973daeea72c3f2ff
Date:   Tue Apr 7 16:20:28 2015 +0100
drm/i915: Aggressive downclocking on Baytrail
Run Code Online (Sandbox Code Playgroud)

这在内核 4.2 中上游,从那时起我们就遇到了问题。正如在heynnema 的回答(以及我试图整理信息的这篇文章)中所解释的,有一个简单而有效的解决方法,传递一个禁用低功耗状态的引导参数。

当前可用的 17.04 测试版使用 4.9(据我了解,它基于上游 4.9.6),到 4 月份发布时,我相信它将使用 4.10。问题仍然存在于这些内核中,因此我得出的结论是,到目前为止没有解决。我检查了 Ubuntu 内核更新日志,没有发现任何东西,但如果我错了,请纠正我。

很长一段时间以来,我一直在 kernel.org 上跟踪c-state 错误。2017 年 1 月,Mika Kuoppala将此补丁添加到线程中。显然,它恢复了导致问题的较早提交。该补丁称为

drm/i915/byt: Avoid tweaking evaluation thresholds
Run Code Online (Sandbox Code Playgroud)

测试表明此补丁的效果非常好,该补丁于 1 月 25 日提交给 i915 驱动程序所有者。 一切顺利,它可以在 4.11 窗口中合并。4.11 内核可能会在 4 月底左右发布。 此补丁的一个版本已在 4.11 窗口中合并,报告表明该错误已在 4.11 中修复。

每个麻烦的 BayTrail 处理器对每个不同的内核都有一点不同。在 16.04(4.4 内核)中,我在没有 intel_idle 参数的 Atom Z3735F 上的正常运行时间大约是在冻结前 15 分钟。我在实时模式下测试了 beta 17.04 ISO,我没有在 90 分钟内卡住,所以看起来我对这个内核很幸运。您可以做同样的事情来测试系统上的任何映像 - 只需制作一个可启动的 USB 并“尝试 Ubuntu 而不安装”并尽可能长时间地测试它。

17.04出来的时候我安装了,前两周不带intel_idle参数跑了,只有3个c-state死机,比之前的版本有很大的提升。

最安全的做法是使用引导参数。根据我的研究,我预计该错误将在 17.10(以及今年晚些时候的其他发行版)中修复,该版本将使用大于等于 4.11 的内核,但不会在 17.04 中修复。

但是,Ubuntu 内核团队总是有可能自己修补它。如果您可以容忍偶尔运行不稳定的系统,您可以通过运行定期更新 ( sudo apt update && sudo apt full-upgrade) 并在每个新内核到达时在没有引导参数的情况下测试它来观察进度。您还可以在安装新软件包或(同样,如果您可以容忍不稳定)安装主线内核时阅读更改日志


hey*_*ema 7

How to set intel_idle.max_cstate=1 中对此有一个修复。


在 中terminal,键入:

gksudo gedit /etc/default/grub
Run Code Online (Sandbox Code Playgroud)

并更改此行:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
Run Code Online (Sandbox Code Playgroud)

包括这个:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1"
Run Code Online (Sandbox Code Playgroud)

然后做:

sudo update-grub
reboot
Run Code Online (Sandbox Code Playgroud)

这是 Intel 的问题,而不是 Ubuntu 的问题,但谢天谢地,我们已经解决了。

没有人知道 Ubuntu 17.04 是否需要此修复程序。

  • @ThatGuy 告诉我这件事,我已经关注这个 bug 一年了。如果您阅读它,您会发现 Linus 自己为早期内核编写了补丁。我也知道并且已经测试过一个专门为我的设备编写的内核补丁可以完全解决这个问题,所以我相信内核开发人员有一天会正确修复它。 (2认同)