Intel Skylake and Kaby Lake Processors Reported to Have Hyper-Threading Issues
Intel’s latest processors, the Skylake and Kaby Lake were launched in 2015 and 2016 respectively. Both processors were manufactured to have faster CPU clock speeds, clock speed changes, and higher Turbo frequencies. Kaby Lake is also the first processor to support hyper-threading for the Pentium branded desktop CPU SKU. Hyper-threading is Intel’s technology for improving parallelization of computers on x86 microprocessors. And unfortunately, it is in this hyper-threading technology that a bug was reported by Debian developers.
According to the advisory published by Debian developers, users with Skylake and Kaby Lake processors may have experienced erratic operating system behaviors including data loss and corruption. Since the Skylake was launched in September 2015, users with processors before this date needn’t worry. Those however with the Skylake and Kaby Lake processors would need to disable hyper-threading in order to avoid operating malfunctions.
How Do I Know If My Cpu Is Affected?
The bug does not limit itself to Linux based systems as tested by those at Debian. It turns out that any desktop, laptop or mobile devices with the processors installed have been affected. So if your device has the Skylake or Kaby Lake processors installed, you will need to disable the hyper-thread. In order to do that, you first need to identify if your system has the processors installed. The following instructions are as obtained from Debian developers. If you don’t know your processor model name, run the following command in command line:
wmic cpu get name,CurrentClockSpeed,MaxClockSpeed
sysctl -n machdep.cpu.brand\_string
grep name/proc/cpuinfo | sort –u
If you know the processor model, check out the details at the given links:
* List of Intel processors code-named “Skylake”:
* List of Intel processors code-named “Kaby Lake”:
Does My CPU Support Hyper-Threading?
To know whether your processor model is affected by the hyper-threading bug, you have to first discover if they are hyper-thread enabled. Run the following command:
wmic CPU Get NumberOfCores,NumberOfLogicalProcessors /Format:List
If the list NumberOfCores and NumberOfLogicalProcessors differ then your processor has hyper-threading supported.
dmidecode -t processor | grep HTT
grep -q '\^flags.\*\[\[:space:\]\]ht\[\[:space:\]\]' /proc/cpuinfo && echo "Hyper-threading is supported"
If your processor does not support hyper-threading, you’re safe. If it does, the following actions are recommended.
What If My Processor Is Listed?
It is recommended to visit your vendor or consult an expert who can look into the BIOS/UEFI to have the issue fixed. For those with Kaby Lake processor, the fix lies in disabling HT in the BIOS/UEFI configuration. Note that you should consult your vendor to carry out this process because right now, the updates to this issue are available only to system vendors. If you contact your vendor and the BIOS/UEFI updates are available, your vendor will be able to fix the issue for you. Those with Skylake have it easy – depending on the model, an intel-microcode package is already available for an update. If not, it will have to go through the same BIOS/UEFI fix procedure.
The good news is Intel has documented the bug and has released the fix through the microcode update for Core 6th generation, Core 7th generation, Xeon v5 and v6, and Core 6th generation X series. So if you’ve bought a system after 2015, make sure to have it checked for this bug.