TSC_DEADLINE wyłączony z powodu błędu


15

Wysłałem komputer do producenta w celu diagnozy i pomocy w zakresie problemów z wyjściem wideo. Zaktualizowali BIOS. Od tego czasu dostaję

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

Nie miałem wcześniej zainstalowanych pakietów mikrokodu lub kodu ucode i nie otrzymałem tej wiadomości.

Skontaktowałem się z producentem, który odpowiedział „nie pamiętam twojego numeru biletu, ale wątpię, czy zaktualizowaliśmy BIOS”, więc nie są zbyt pomocni.

Uruchamia się i działa, ale czy TSC_DEADLINE jest ważny czy przydatny?

Jedyne, co mogę o tym znaleźć, to: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=73b866d89bf7c9a895d5445faad03fa3d56c8af8

Ale wydaje się, że dotyczy to tylko VirtualBox, a w każdym razie mam już jądro 4.14, więc pomyślałbym, że jeśli to zatwierdzenie naprawi mój problem, już by to miało.

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

Większość dystrybucji Linuksa zawiera pakiet, linux-firmwarektóry zapewnia wymagane aktualizacje oprogramowania układowego. W Debianie może być konieczne włączenie contribi / lub non-freeuzyskanie go. Łatka, którą podłączyłeś, ma rozwiązać głupią sytuację, gdy jądro jest zgodne z przestarzałym oprogramowaniem podczas uruchamiania na maszynie wirtualnej, która oczywiście nie ma żadnego oprogramowania układowego ...
AlexP

2
@AlexP linux-firmwarenie zaktualizuje mikrokodu, którego potrzebujesz intel-microcodelub amd64-microcodedo tego (przynajmniej w Debianie i pochodnych).
Stephen Kitt

Odpowiedzi:


17

Nagłe pojawienie się tej wiadomości jest raczej dziwne; sugeruje, że zaktualizowane oprogramowanie wewnętrzne nie aktualizuje już mikrokodu procesora, podczas gdy poprzednie oprogramowanie zostało wykonane. Dziwne ... (Innym możliwym scenariuszem jest to, że Twój procesor pierwotnie nie obsługują termin TSC w ogóle , a firmware jest teraz uaktualnienie swojego mikrokodu do wersji, która deklaruje poparcie dla terminu TSC, ale ma errata czyniąc go bezużytecznym.)

W każdym razie wsparcie terminu TSC jest miłe, ale nie jest niezbędne. Jądro ma rozbudowane ramy do pomiaru czasu i obsługi zdarzeń czasowych; Termin TSC jest jedną możliwą implementacją obsługi zdarzeń, ale nie jedyną. Na procesorach, które go obsługują, warto go mieć, ponieważ jest bardzo wydajny.

Aby zaktualizować swój mikrokod i mam nadzieję, że ponownie włączysz obsługę terminów TSC, możesz zainstalować pakiety aktualizacji mikrokodu z Debiana contribi non-freerepozytoriów. W tym celu dokonaj edycji, /etc/apt/sources.listaby upewnić się, że definicje repozytorium Debiana obejmują main, contribi non-free; następnie uruchomić

sudo apt update

śledzony przez

sudo apt install intel-microcode

(dla procesorów Intel) lub

sudo apt install amd64-microcode

(dla procesorów AMD). Gdy to zrobisz, uruchom ponownie, a twój mikrokod powinien zostać zaktualizowany. Jeśli obsługa terminów TSC zostanie ponownie włączona, nie zobaczysz komunikatu o błędzie podczas uruchamiania, a zobaczysz tsc_deadline_timerw flagswierszach /proc/cpuinfo.

Wiki Debiana zawiera więcej informacji na temat aktualizacji mikrokodu .


Dzięki za naprawę, Stephen. Właśnie zaktualizowałem swój laptop z wersji debian stretch do buster i natrafiłem na ten sam komunikat o błędzie terminu TSC podczas uruchamiania. Twoja poprawka działa jak urok!
Qiang Xu,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.