TSC_DEADLINE desativado devido a Erratas

15

Enviei meu computador ao fabricante para diagnóstico e ajuda para um problema de saída de vídeo que estava ocorrendo. Eles atualizaram o BIOS. Desde então eu tenho recebido

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

Eu não tinha nenhum pacote de microcódigo ou ucode instalado antes e não costumava receber essa mensagem.

Entrei em contato com o fabricante e eles responderam "não se lembra do número do seu bilhete, mas duvide que tenhamos atualizado o BIOS", para que não sejam muito úteis.

Inicializa e funciona, mas TSC_DEADLINE é importante ou útil?

A única coisa que posso encontrar sobre isso é: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=73b866d89bf7c9a895d5445faad03fa3d56c8af8

Mas isso parece se aplicar apenas ao VirtualBox e, de qualquer forma, eu já estou executando o kernel 4.14, então eu pensaria que se esse commit corrigisse meu problema, ele já teria.

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
fonte
A maioria das distribuições Linux fornece um pacote linux-firmwareque fornece as atualizações de firmware necessárias. No Debian você pode ter que habilitar contribe / ou non-freeobtê-lo. O patch é ligada se destina a resolver a situação boba quando as cumpre núcleo de firmware desatualizado durante a inicialização em uma máquina virtual, o que obviamente não tem qualquer firmware ...
AlexP
2
O @AlexP linux-firmwarenão atualiza o microcódigo, você precisa intel-microcodeou amd64-microcodepara isso (pelo menos no Debian e derivados).
Stephen Kitt

Respostas:

17

O surgimento repentino desta mensagem é bastante estranho; isso sugere que o firmware atualizado não está mais atualizando o microcódigo da CPU, enquanto o firmware anterior que você possuía o fez. Estranho ... (Outro cenário possível é que o seu CPU originalmente não suportam prazo TSC em tudo , e seu firmware está agora actualizar o seu microcódigo para uma versão que declara apoio a prazo TSC, mas tem errata tornando-o inútil.)

De qualquer forma, é bom ter o suporte ao prazo do TSC, mas não é vital. O kernel possui uma estrutura elaborada para cronometragem e manipulação de eventos programados; O prazo final do TSC é uma implementação possível da manipulação de eventos, mas não a única. Em CPUs que suportam, é bom ter, porque é muito eficiente.

Para atualizar seu microcódigo e, esperançosamente, reativar o suporte ao prazo TSC, você pode instalar os pacotes de atualização de microcódigo do Debian contribe non-freerepositórios. Para fazer isso, edite-o /etc/apt/sources.listpara garantir que suas definições de repositório Debian incluam main, contribe non-free; então corra

sudo apt update

Seguido por

sudo apt install intel-microcode

(para CPUs Intel) ou

sudo apt install amd64-microcode

(para CPUs AMD). Feito isso, reinicie e seu microcódigo deverá ser atualizado. Se o suporte ao prazo TSC for reativado, você não verá a mensagem de erro na inicialização e verá tsc_deadline_timernas flagslinhas de /proc/cpuinfo.

O wiki Debian tem mais informações sobre atualizações de microcódigo .

Stephen Kitt
fonte
Obrigado pela sua correção, Stephen. Acabei de atualizar meu laptop do debian stretch para o buster e me deparei com a mesma mensagem de erro de prazo final do TSC na inicialização. Sua correção funciona como um encanto!
Qiang Xu