由于勘误禁用了TSC_DEADLINE


15

我将计算机发送给制造商以进行诊断并提供有关视频输出问题的帮助。他们更新了BIOS。从那以后我一直在

[Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0x20 (or later)

我之前没有安装任何微码ucode软件包,而且我不习惯于收到此消息。

我已经联系制造商,他们已经回答“不记得您的票号,但怀疑我们是否更新了BIOS”,因此他们的帮助不是很大。

它可以启动并起作用,但是TSC_DEADLINE重要还是有用?

我唯一能找到的是这样的:https : //git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=73b866d89bf7c9a895d5445faad03fa3d56c8af8

但这似乎仅适用于VirtualBox,无论如何我已经在运行内核4.14,所以我认为如果该提交可以解决我的问题,它将已经拥有。

ryan@pocketwee:~$ uname -a
Linux pocketwee 4.14.0-1-amd64 #1 SMP Debian 4.14.2-1 (2017-11-30) x86_64 GNU/Linux

大多数Linux发行版都提供一个软件包linux-firmware,其中提供了所需的固件更新。在Debian中,您可能必须启用contrib和/或non-free获取它。您链接的补丁旨在解决在虚拟机中引导时内核遵循过时的固件(显然没有任何固件)的愚蠢情况……
AlexP

2
@AlexP linux-firmware不会更新微码,您需要intel-microcodeamd64-microcode为此(至少在Debian和衍生产品上)。
史蒂芬·基特

Answers:


17

这条消息突然出现很奇怪。这表明更新的固件不再升级CPU的微代码,而先前的固件已经升级了。奇怪...(另一种可能的情况是,你的CPU本来不支持TSC期限可言,你的固件已升级其微到宣布为TSC期限支持一个版本,但有勘误表使之无用。)

无论如何,TSC截止日期支持很不错,但不是至关重要的。内核具有精心设计的计时和定时事件处理框架。TSC截止日期是事件处理的一种可能实现方式,但不是唯一的一种。在支持该功能的CPU上,它很不错,因为它非常有效。

要升级您的微代码并希望重新启用TSC期限支持,您可以从Debian contribnon-free存储库安装微代码更新软件包。要做到这一点,编辑您的/etc/apt/sources.list保证您的Debian库定义包括maincontribnon-free; 然后跑

sudo apt update

其次是

sudo apt install intel-microcode

(对于Intel CPU)或

sudo apt install amd64-microcode

(适用于AMD CPU)。完成此操作后,重新启动,您的微码应会更新。如果重新启用了TSC截止日期支持,则在启动时将不会看到错误消息,并且会tsc_deadline_timer在的flags行中看到/proc/cpuinfo

Debian Wiki提供了有关微代码更新的更多信息


感谢您的修复,斯蒂芬。我刚刚将笔记本电脑从Debian Stretch升级为破坏者,并且在启动时遇到了相同的TSC截止日期错误消息。您的修复工作就像一种魅力!
徐强
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.