我将计算机发送给制造商进行诊断并帮助解决它遇到的视频输出问题。他们更新了 BIOS。从那以后我得到
[Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0x20 (or later)
我之前没有安装任何微码或ucode包,也没有收到此消息。
我已经联系了制造商,他们的回答是“不记得你的票号,但怀疑我们更新了 BIOS”,所以他们没有太大帮助。
它启动并工作,但 TSC_DEADLINE 重要还是有用?
但这似乎只适用于 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
这条消息的突然出现相当奇怪。它表明您更新的固件不再升级您的 CPU 的微码,而您之前的固件确实如此。奇怪...(另一种可能的情况是您的 CPU 最初根本不支持 TSC 截止日期,而您的固件现在正在将其微码升级到声明支持 TSC 截止日期的版本,但有勘误表使其无用。)
无论如何,TSC 截止日期支持很不错,但不是至关重要的。内核有一个用于计时和定时事件处理的精细框架;TSC 截止日期是事件处理的一种可能实现,但不是唯一的一种。在支持它的 CPU 上,它很好,因为它非常高效。
要升级您的微码并希望重新启用 TSC 截止日期支持,您可以从 Debian
contrib
和non-free
存储库安装微码更新包。为此,请编辑您的/etc/apt/sources.list
以确保您的 Debian 存储库定义包括main
,contrib
和non-free
; 然后运行其次是
(对于英特尔 CPU)或
(对于 AMD CPU)。完成后,重新启动,您的微码应该会更新。如果重新启用 TSC 截止日期支持,您将不会在启动时看到错误消息,并且会
tsc_deadline_timer
在.flags
/proc/cpuinfo
Debian wiki 有更多关于微码更新的信息。