[Firmware Bug]: TSC_DEADLINE disabled due to Errata

Kali ini kita akan membahas bagaimana cara workaround jika mendapatkan pesan error seperti berikut ini. Untuk lebih tepatnya, pesan error lengkapnya seperti ini : [Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0xb000020 (or later). Apa yang harus kita perhatikan jika mendapatkan error seperti ini?

Pesan error seperti ini bisa kamu dapatkan dengan menelusuri pesan log yang berada di /var/log/messages. Sebelum kita bahas lebih jauh lagi, saat ini kita sedang membicarakan error yang ada di Centos 7.9 baremetal server (Dedicated Server) ya.

Alternatif lainnya, pesan error ini bisa diperoleh dengan execute command berikut.

dmesg -t |grep microcode

Kurang lebih output pesannya seperti ini.

# dmesg -t |grep microcode
[Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0xb000020 (or later)
TAA: Vulnerable: Clear CPU buffers attempted, no microcode
MDS: Vulnerable: Clear CPU buffers attempted, no microcode
microcode: sig=0x406f1, pf=0x1, revision=0xb000010
microcode: Microcode Update Driver: v2.01 tigran@aivazian.fsnet.co.uk, Peter Oruba

Jadi untuk yang satu ini biasanya kita harus pastikan kalau microcode_ctl dari server ini sudah dipasang ke versi latest. Begitu juga dengan firmware hardware servernya. Bagaimana saya bisa tahu microcode_ctl versi saat ini?

Gunakan command ini :

#rpm -q microcode_ctl
microcode_ctl-2.1-73.11.el7_9.x86_64

Jika merujuk versi dari microcode yang ada sejak postingan ini dibuat, microcode yang saya gunakan di server saya adalah versi paling akhir dari patch yang ada. Jadi tidak ada yang bisa kita lakukan dari sisi software microcode. Ternyata, setelah di cek, firmware dedicated server ini kebetulan menggunakan SuperMicro server, masih menggunakan yang versi jadul yaitu tahun 2015.

Oleh karena itu kita harus force update firmware hardware server ini. Jika sudah, pastikan juga kernel Linux kamu juga harus up to date.

Mungkin banyak yang bertanya, apasih microcode_ctl itu? Microcode yang kita sebutkan di atas ini adalah penghubung antara tipe dari CPU server dengan instruction set yang ada. Jadi jika diibaratkan, CPU server seperti Intel Xeon E5 dual series mempunyai instruction set yang sangat banyak. Untuk menunjang hal tersebut di kernel Linux, maka harus menggunakan microcode sebagai penghubung bahasa instruction set dari Intel ke kernel Linux.

Terima kasih sudah mau mampir, semoga bermanfaat.

Leave a Reply

Your email address will not be published. Required fields are marked *