Intel-Prozessoren: Hyper-Threading-Bug bei Skylake(-X) und Kaby Lake
Debian-Entwickler sind über einen Fehler in Intels Skylake(-X)- und Kaby-Lake-Prozessoren gestolpert: Wenn Hyper-Threading aktiviert ist, kann das System ein unvorhersehbares Verhalten an den Tag legen. Betroffen ist demnach nicht nur ein Betriebssystem auf Basis von Linux, sondern auch jedes andere, betonen die Entwickler.
Gänzlich neu ist der Fehler jedoch nicht, bisher war nur das Ausmaß nicht komplett bekannt respektive noch nicht aufgetreten. Im Hintergrund arbeitete der Hersteller in den vergangenen Wochen deshalb bereits an einer Behebung des Problem via Microcode-Update, denn ein Fix direkt in der CPU ist bisher ausgeschlossen. Die Lösung dieser Art von Problemen über einen Patch in einem kleinen SRAM-Speicher direkt in der CPU ist eine gängige Methode kleinere Probleme zu lösen und bestimmte Dinge zu optimieren, ohne zurück an die echte Hardware zu müssen und eventuell gar ein neues Stepping aufzulegen – AMD erklärte das Vorgehen vor einigen Monaten sehr detailiert.
Intel selbst beschreibt das Problem seit April dieses Jahres in den öffentlich verfügbaren Specification Updates, beispielsweise zu Skylake (PDF) unter dem Punkt SKL150 oder Skylake-X als SKZ7 (PDF):
Under complex micro-architectural conditions, short loops of less than 64 instructions that use AH, BH, CH or DH registers as well as their corresponding wider register (eg RAX, EAX or AX for AH) may cause unpredictable system behaviour. This can only happen when both logical processors on the same physical processor are active.
Das Problem betrifft nicht nur Skylake-Prozessoren aller Art inklusive Xeon-Ableger E3 v5 und auch die neuen Skylake-X, sondern auch alle Kaby Lake und deren Xeon-Ableger E3 v6 – jeweils im Desktop- als auch Notebook. Laut Intels Angaben ist ein BIOS-Update möglich um das Problem zu beheben, alternativ sollte Hyper-Threading deaktiviert werden, schreiben auch die Entwickler von Debian als Empfehlung aus.
Erste Microcode-Updates für Skylake gibt es demnach aber bereits, die in der Regel über das BIOS als Update eingepflegt werden. Die Revisionen 0xb9/0xba beheben dieses für Skylake, beim Linux-Microcode lautete die Versionsnummer 20170511. Für Skylake-X liegen noch keine Informationen vor, bei Kaby Lake ist der Fehler in Revision 0x48 noch enthalten, einen Workaround gibt es jedoch bereits über BIOS-Updates.
Die ComputerBase-Redaktion dankt Karsten für den Hinweis zu dieser Meldung!