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 paquet microcode ou ucode installé avant et je n'a pas utilisé pour obtenir 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 peux 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
L'apparition soudaine de ce message est plutôt étrange; cela suggère que votre micrologiciel mis à jour ne met plus à jour le microcode de votre processeur, contrairement au micrologiciel précédent que vous aviez. Bizarre ... (Un autre scénario possible est que votre CPU à l'origine ne supportait pas du tout le délai TSC , et votre firmware met maintenant à jour son microcode vers un version qui déclare la prise en charge de la date limite du TSC, mais qui contient des errata la rendant inutile.)
Dans tous les cas, le support du délai TSC est agréable, mais pas vital. 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 prennent en charge, c'est bien d'avoir, car il 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 des référentiels contrib
et non-free
De Debian. Pour ce faire, modifiez votre /etc/apt/sources.list
Pour vous assurer que vos définitions de référentiel Debian incluent main
, contrib
et non-free
; puis exécutez
Sudo apt update
suivi par
Sudo apt install intel-microcode
(pour les processeurs Intel) ou
Sudo apt install AMD64-microcode
(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 les lignes flags
de /proc/cpuinfo
.
Le wiki Debian a plus d'informations sur les mises à jour du microcode .