Slashdot Mirror


New HyperThreading Flaw Affects Intel 6th And 7th Generation Skylake and Kaby Lake-Based Processors (hothardware.com)

MojoKid writes: A new flaw has been discovered that impacts Intel 6th and 7th Generation Skylake and Kaby Lake-based processors that support HyperThreading. The issue affects all OS types and is detailed by Intel errata documentation and points out that 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, including crashes and potential data loss. The OCaml toolchain community first began investigating processors with these malfunctions back in January and found reports stemming back to at least the first half of 2016.

The OCaml team was able pinpoint the issue to Skylake's HyperThreading implementation and notified Intel. While Intel reportedly did not respond directly, it has issued some microcode fixes since then. That's not the end of the story, however, as the microcode fixes need to be implemented into BIOS/UEFI updates as well and it is not clear at this time if all major vendors have included these changes in their latest revisions.

4 of 135 comments (clear)

  1. BTW, AMD has a similar bug too by Misagon · · Score: 5, Interesting

    AMD Ryzen also seems to have a similar bug, related to hyperthreading that happens only in very special circumstances.

    Quite a few Ryzen users have experienced instability problems during heavy compilation loads under Linux, especially those using compile-based distros such as Gentoo, but also under the Ubuntu subsystem on Windows.
    There has been some debate whether the problems would have been caused by an actual bug, or if the people who experienced them simply had an unstable overclock - the latter being something that has also cropped up in forums recently.

    Matthew Dillon, of Dragonfly BSD fame (and Amiga fame before that...) does believe that he has found a reproducible bug. He sent a test case about it to AMD in April.
    This is not the first time Dillon has found a hardware bug in a AMD CPU. He found one for an earlier AMD CPU back in 2012 which was fixed in a microcode update.

    I expect this to be fixed in a BIOS/microcode update soon, if not already in AGESA 1.0.0.6 - but I have yet to see any confirmation that it would have been fixed.

    --
    "We mustn't be caught by surprise by our own advancing technology" -- Aldous Huxley
  2. Re: As well as what? by Anonymous Coward · · Score: 2, Interesting

    different AC, but regardless you are wrong he is right. all of the CPU's can be fixed/updated via microcode, however for some models that haven't had publicly available fixes published you have to go to your vendor and ask them for it. that doesn't mean it requires them to do it, but they are the only ones that will currently have the updates.

  3. Re:Apocryphal .... by thestuckmud · · Score: 4, Interesting

    hyper-threading ... purportedly boosts performance by about 10-20% for multithreaded apps.

    10-20% might be the case. I've also read some claims of 30% speed boost from hyperthreading. The boost is highly dependent on workload.

    For me, 100% is often the case. I do a lot of tight number theoretic math loops and was astounded to find that one of my typical computations -- with little memory use and essentially no communication -- was 8 time quicker on 4 cores/8 threads compared to the single threaded version. Perfectly efficient! Your mileage will very probably vary, but it works for me.

    And, FWIW, I usually prototype in oCaml :-)

  4. Re:Apocryphal .... by swilver · · Score: 3, Interesting

    I looked into HT a bit, and its performance gains.

    Basically, it comes down that as soon as you have real cores available that HT barely does anything and sometimes even becomes detrimental for performance. So if you have 1 core, HT shows some real benefits. With 2 cores it was pretty marginal, and with 4 cores or more you might as well disable it.