PSA: (Rare) Skylake/Kaby Lake Hyperthreading bug

Status
Not open for further replies.

Omega

Dabbler
Joined
Dec 12, 2015
Messages
15
See: https://lists.debian.org/debian-devel/2017/06/msg00308.html

There appears to be a bug with Skylake/Kaby Lake processors (the v5/v6 ones) with active Hyperthreading that in rare situations can lead to unpredictable behaviour. This is apparently fixed with a microcode update for Skylake (I don't know if those are applied by FreeNAS, so it might be fine and not an issue), Kaby Lake not yet according to the Debian warning.

It might not be a big issue, but if you have one of the affected processors, you might want to do a bit of research. I was about to look closer into it, but then realised that my systems are (with the exception of a MacBookPro), all on Haswell...

Apologies if this is already flagged, a search didn't yield anything.
 

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,994
Interesting read. I'll have to check on my CPU, I'm sure it's affected but...
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194

ioquatix

Dabbler
Joined
May 9, 2017
Messages
48
I see, but how does this work? Does it upload some changed firmware to the CPU?
 

Omega

Dabbler
Joined
Dec 12, 2015
Messages
15
Yes, the latest microcode package fixes Skylake (according to the original link - haven't verified). But as I said, I am not sure if FreeNAS would apply them; FreeBSD is capable to do so (cpuctl), but afaict, cpuctl_load isn't set in loader.conf (at least on my FreeNAS, 9.10.2-U4 - and with the caveat that I am not native to FreeBSD, so might have missed a place where it is set).

Updated BIOSes does sound like the nicest solution :)
 

c32767a

Patron
Joined
Dec 13, 2012
Messages
371
I see, but how does this work? Does it upload some changed firmware to the CPU?

A lot of the CPU's onboard microcode can be uploaded/replaced by either the BIOS at boot time or the OS. From what I've seen in the writeups, This will be completely fixed only with a BIOS update that includes new CPU microcode.
 
Last edited by a moderator:

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
I don't think any CPU from the last ~15 years can boot to a usable state without the BIOS uploading at least some of the microcode.
 

Mark Levitt

Explorer
Joined
May 21, 2017
Messages
56
Yes, the latest microcode package fixes Skylake (according to the original link - haven't verified). But as I said, I am not sure if FreeNAS would apply them; FreeBSD is capable to do so (cpuctl), but afaict, cpuctl_load isn't set in loader.conf (at least on my FreeNAS, 9.10.2-U4 - and with the caveat that I am not native to FreeBSD, so might have missed a place where it is set).

Updated BIOSes does sound like the nicest solution :)

The problem is that waiting for the motherboard manufacturers to update their BIOS releases could take months, if they even bother.
 

Dice

Wizard
Joined
Dec 11, 2015
Messages
1,410
So, for us SM users, we won't take on any action except for disabling HT and than sitting around until next SM bios update? Or is it something that we should do?
 

Mark Levitt

Explorer
Joined
May 21, 2017
Messages
56
So, for us SM users, we won't take on any action except for disabling HT and than sitting around until next SM bios update? Or is it something that we should do?

Given that there is a microcode update from Intel for Skylake processors, I would have expected FreeNAS to apply it in the next release.
 

ioquatix

Dabbler
Joined
May 9, 2017
Messages
48
I already updated intel-ucode as part of boot process to latest one. How can we test if issue is fixed?
 

Mark Levitt

Explorer
Joined
May 21, 2017
Messages
56
I already updated intel-ucode as part of boot process to latest one. How can we test if issue is fixed?

How did you update? I'm not really familiar with FreeBSD, but it seems like the package containing intel microcode is "devcpu-data" which doesn't seem to be installed on FreeNAS.
 

Omega

Dabbler
Joined
Dec 12, 2015
Messages
15
Also, I believe the microcode updates aren't persistent and need to be applied on each boot.
 

Mark Levitt

Explorer
Joined
May 21, 2017
Messages
56
Also, I believe the microcode updates aren't persistent and need to be applied on each boot.

Yes. There seems to be a FreeBSD package "devcpu-data" that contains various microcode updates and, when installed and enabled, loads them into the CPU on boot. It's not installed on FreeNAS though.

I guess we have to wait for the FreeBSD devs to update that package, then for FreeNAS devs to include it in a FreeNAS release.

(Or hope that the motherboard manufacturers release a bios update, but I won't hold my breath on that one).
 
Last edited by a moderator:

ioquatix

Dabbler
Joined
May 9, 2017
Messages
48
How did you update? I'm not really familiar with FreeBSD, but it seems like the package containing intel microcode is "devcpu-data" which doesn't seem to be installed on FreeNAS.

I should apologise for not being clear. I'm running on Arch Linux.
 

ioquatix

Dabbler
Joined
May 9, 2017
Messages
48
Nope, but I'm just pointing out that there is a intel-ucode available which apparently fixes the issue without requiring a bios update.
 
Status
Not open for further replies.
Top