정오표로 인해 TSC_DEADLINE이 비활성화되었습니다.

정오표로 인해 TSC_DEADLINE이 비활성화되었습니다.

진단을 위해 컴퓨터를 제조업체에 보냈고 발생한 비디오 출력 문제를 해결하는 데 도움을 주었습니다. 그들은 BIOS를 업데이트했습니다. 그 이후로 나는 점점

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

난 아무것도 없어마이크로코드또는암호패키지는 이전에 설치되었지만 이 메시지가 익숙하지 않습니다.

제조업체에 문의했는데 "티켓 번호는 기억나지 않지만 BIOS를 업데이트했는지 의심스럽습니다"라는 답변이 별로 도움이 되지 않았습니다.

시작되고 작동하지만 TSC_DEADLINE이 중요하거나 유용합니까?

내가 찾을 수 있는 유일한 정보는 다음과 같습니다.https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=73b866d89bf7c9a895d5445faad03fa3d56c8af8

그러나 이것은 VirtualBox에서만 작동하는 것 같고 어쨌든 저는 이미 커널 4.14를 실행하고 있으므로 해당 커밋이 내 문제를 해결한다면 이미 거기에 있는 것 같습니다.

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

답변1

이 메시지가 갑자기 나타나는 것은 약간 이상합니다. 이는 업데이트된 펌웨어가 이전 펌웨어와 달리 더 이상 CPU의 마이크로코드를 업그레이드하지 않음을 나타냅니다. 이상해요... (또 ​​다른 가능한 상황은 CPU가 TSC의 마감일을 지원하지 않는다는 것입니다.별말씀을요, 귀하의 펌웨어는 이제 TSC 최종 기한을 지원하지만 쓸모 없게 만드는 정오표가 있는 버전으로 마이크로코드를 업그레이드하고 있습니다. )

그럼에도 불구하고 TSC의 마감일 지원은 훌륭하지만 중요하지는 않습니다. 커널에는 타이밍 및 시간 제한 이벤트 처리를 위한 복잡한 프레임워크가 있습니다. TSC 마감일은 이벤트 처리의 가능한 구현 중 하나이지만 유일한 구현은 아닙니다. 그래도 이를 지원하는 CPU에서는 매우 효율적이기 때문에 가지고 있으면 좋습니다.

마이크로코드를 업그레이드하고 TSC 최종 지원을 다시 활성화하려면 Debian contribnon-free리포지토리에서 마이크로코드 업데이트 패키지를 설치할 수 있습니다. 이렇게 하려면 데비안 저장소 정의에 , 및 가 /etc/apt/sources.list포함되어 있는지 확인하고 ;maincontribnon-free

sudo apt update

이어서

sudo apt install intel-microcode

(인텔 CPU의 경우) 또는

sudo apt install amd64-microcode

(AMD CPU의 경우). 완료되면 재부팅하면 마이크로코드가 업데이트됩니다. TSC 최종 지원을 다시 활성화하면 시작 시 오류 메시지가 표시되지 않고 tsc_deadline_timer에서 표시됩니다.flags/proc/cpuinfo

데비안 위키에는마이크로코드 업데이트에 대한 추가 정보.

답변2

CONFIG_X86_X2APIC 설정이 작동할 수 있습니다. 작업 중인 시스템을 다시 중단하기 전에 백업해야 합니다.

Angular는 인터럽트 재매핑 및 iommu와 관련된 TSC입니다. 장치 드라이버 | 아래에서 이 기능을 설정할 수 있습니다. IOMMU 하드웨어 지원은 x2apic을 지원할 수 있지만 마이크로코드로 해결할 수 없는 취약점도 가져오는데 이는 가상 머신에만 영향을 미치는 것으로 보이므로 이를 위해 "Virtio IOMMU 드라이버"를 끌 수 있습니다.

그러나 나는 틀릴 수 있습니다. 백업한 후 다시 TSC를 파기하려고 합니다.

관련 정보