J'ai envoyé mon ordinateur au fabricant pour diagnostic et aide pour un problème de sortie vidéo qu'il rencontrait. Ils ont mis à jour le BIOS. Depuis, je reçois
[Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0x20 (or later)
Je n'avais pas de packages de microcode ou ucode installés auparavant et je n'avais pas l'habitude de recevoir ce message.
J'ai contacté le fabricant et il a répondu "ne me souviens pas de votre numéro de ticket mais doute que nous ayons mis à jour le BIOS", donc ils ne sont pas très utiles.
Il démarre et fonctionne, mais TSC_DEADLINE est-il important ou utile?
La seule chose que je puisse trouver à ce sujet est la suivante: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=73b866d89bf7c9a895d5445faad03fa3d56c8af8
Mais cela ne semble s'appliquer qu'à VirtualBox, et dans tous les cas, j'exécute déjà le noyau 4.14, donc je pense que si ce commit devait résoudre mon problème, il l'aurait déjà.
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-firmware
qui fournit les mises à jour du micrologiciel requises. Dans Debian, vous devrez peut-être l'activercontrib
et / ou l'non-free
obtenir. Le patch que vous avez lié est destiné à résoudre la situation idiote lorsque le noyau se conforme à un firmware obsolète lors du démarrage dans une machine virtuelle, qui n'a évidemment pas de firmware ...linux-firmware
ne mettra pas à jour le microcode, vous en avez besoinintel-microcode
ouamd64-microcode
pour cela (au moins sur Debian et ses dérivés).Réponses:
L'apparition soudaine de ce message est plutôt étrange; cela suggère que votre firmware mis à jour ne met plus à jour le microcode de votre CPU, contrairement au firmware précédent que vous aviez. Bizarre ... (Un autre scénario possible est que votre CPU à l' origine ne prend pas en charge TSC date limite du tout , et votre firmware est maintenant mise à niveau de son microcode vers une version qui déclare soutien à échéance TSC, mais a errata rendu inutile.)
Dans tous les cas, la prise en charge des délais TSC est agréable, mais pas vitale. Le noyau a un cadre élaboré pour le chronométrage et la gestion des événements chronométrés; La date limite du TSC est une implémentation possible de la gestion des événements, mais pas la seule. Sur les processeurs qui le supportent, c'est bien d'avoir, car c'est très efficace.
Pour mettre à niveau votre microcode et, espérons-le, réactiver la prise en charge des délais TSC, vous pouvez installer les packages de mise à jour du microcode à partir de Debian
contrib
et desnon-free
référentiels. Pour ce faire, éditez votre/etc/apt/sources.list
pour vous assurer que vos définitions de référentiel Debian incluentmain
,contrib
etnon-free
; puis exécutezsuivi par
(pour les processeurs Intel) ou
(pour les processeurs AMD). Une fois cela fait, redémarrez et votre microcode devrait être mis à jour. Si la prise en charge des délais TSC est réactivée, vous ne verrez pas le message d'erreur au démarrage, et vous verrez
tsc_deadline_timer
dans lesflags
lignes de/proc/cpuinfo
.Le wiki Debian contient plus d'informations sur les mises à jour du microcode .
la source