TSC_DEADLINE wegen Errata deaktiviert

15

Ich habe meinen Computer zur Diagnose und Hilfe für ein Problem mit der Videoausgabe an den Hersteller gesendet. Sie haben das BIOS aktualisiert. Seitdem habe ich bekommen

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

Ich hatte vorher keine Mikrocode- oder UCode- Pakete installiert und habe diese Meldung nicht erhalten.

Ich habe den Hersteller kontaktiert und er hat geantwortet "Erinnere mich nicht an deine Ticketnummer, bezweifle aber, dass wir das BIOS aktualisiert haben", sodass sie nicht sehr hilfreich sind.

Es bootet und funktioniert, aber ist TSC_DEADLINE wichtig oder nützlich?

Das einzige, was ich darüber finden kann, ist: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=73b866d89bf7c9a895d5445faad03fa3d56c8af8

Aber das scheint nur für VirtualBox zu gelten, und auf jeden Fall starte ich bereits Kernel 4.14, sodass ich mir vorstellen würde, dass dieses Commit mein Problem beheben würde, das es bereits hätte.

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
RML
quelle
Die meisten Linux-Distributionen bieten ein Paket linux-firmwaremit den erforderlichen Firmware-Updates an. In Debian müssen Sie es möglicherweise aktivieren contribund / oder non-freeabrufen. Der Patch, den Sie verlinkt haben, soll die dumme Situation lösen, in der der Kernel beim Booten in einer virtuellen Maschine, die offensichtlich keine Firmware enthält, veraltete Firmware enthält ...
AlexP
2
@AlexP linux-firmwareaktualisiert nicht den Mikrocode, den Sie benötigen intel-microcodeoder amd64-microcodedafür (zumindest bei Debian und Derivaten).
Stephen Kitt

Antworten:

17

Das plötzliche Erscheinen dieser Nachricht ist ziemlich merkwürdig. Es deutet darauf hin, dass Ihre aktualisierte Firmware den Mikrocode Ihrer CPU nicht mehr aktualisiert, während dies bei der vorherigen Firmware der Fall war. Seltsam ... (Ein weiteres mögliches Szenario ist , dass Ihre CPU ursprünglich nicht TSC Frist haben Unterstützung überhaupt , und die Firmware rüsten jetzt sein Mikro auf eine Version , die Unterstützung für TSC Frist erklärt, hat aber errata macht es nutzlos.)

TSC Deadline Support ist auf jeden Fall nett zu haben, aber nicht wichtig. Der Kernel verfügt über ein ausgeklügeltes Framework für die Zeitmessung und die zeitgesteuerte Ereignisbehandlung. Die TSC-Frist ist eine mögliche Implementierung der Ereignisbehandlung, aber nicht die einzige. Auf CPUs, die es unterstützen, ist es aber schön zu haben, weil es sehr effizient ist.

Um Ihren Mikrocode zu aktualisieren und hoffentlich die TSC-Deadline-Unterstützung wieder zu aktivieren, können Sie die Mikrocode-Aktualisierungspakete von Debian contribund den non-freeRepositorys installieren . Bearbeiten Sie /etc/apt/sources.listdazu Ihre, um sicherzustellen, dass Ihre Debian-Repository-Definitionen Folgendes enthalten main: contribund non-free; dann renne

sudo apt update

gefolgt von

sudo apt install intel-microcode

(für Intel CPUs) oder

sudo apt install amd64-microcode

(für AMD CPUs). Sobald dies erledigt ist, starten Sie neu und Ihr Mikrocode sollte aktualisiert werden. Wenn die TSC-Deadline-Unterstützung wieder aktiviert ist, wird die Fehlermeldung beim Booten nicht angezeigt und tsc_deadline_timerin den flagsZeilen von angezeigt /proc/cpuinfo.

Das Debian-Wiki enthält weitere Informationen zu Mikrocode-Updates .

Stephen Kitt
quelle
Danke für deine Hilfe, Stephen. Ich habe gerade meinen Laptop von Debian Stretch auf Buster aktualisiert und bin beim Booten auf die gleiche TSC-Deadline-Fehlermeldung gestoßen. Dein Fix wirkt wie ein Zauber!
Qiang Xu