Hyper-Threading Problem Hits Skylake and Kaby Lake CPUs
Ron Perillo / 6 years ago
A critical flaw that affects Intel Skylake and Kaby Lake processor Hyper-Threading came to light over the weekend. This includes the entire 6th and 7th generation of Intel processors and apparently is known as early as Q2 2016. Although not widely known, Intel actually published the SKZ7/SKW144/SKL150/SKX150/KBL095/KBW095 Intel processor errata addressing this problem.
Problem: “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 (e.g. RAX, EAX or AX for AH) may cause unpredictable system behavior. This can only happen when both logical processors on the same physical processor are active.”
Implication: “Due to this erratum, the system may experience unpredictable system behavior.”
What Should I Do if I have a Skylake or Kaby Lake Processor?
The OCaml toolchain community made the discovery and submitted a report to Intel. Although they state that Intel did not respond directly back to them, the chip giant issued microcode fixes since then. Microcode fixes are available since April 2017. However, this microcode is updated via UEFI. It is not clear yet whether the motherboard vendors have implemented the fix. Find your motherboard manufacturer’s BIOS update history and look for fixes that include “Intel processor errata KBL095, KBW095”.
The advisory was sent out to Debian users, although since it is on the processor level, it affects all OSes. They suggest that users disable Hyper-threading for now until the fix is certain. Users can read the Debian advisory in its entirety which also has a fix listed for Skylake users.