Live data from Hacker News

Intel Skylake/Kaby Lake processors: broken hyper-threading

lists.debian.org

91–100 of 278 posts

Re: Intel Skylake/Kaby Lake processors: broken hyper-threading

#91
post #87
post #18

Earlier quoted context omitted.

CPU manufacturers do do huge amounts of testing, and Intel does formal verification of some functional units. The reliability is far better than most software, in part because making a new release costs billions.

IIRC wasn't there some blog posts about how intel has cut their verification/QA drastically since 2010? is this the result?

Although it mentions 2015, I think that might be the one I linked in my original post above: http://danluu.com/cpu-bugs/

Re: Intel Skylake/Kaby Lake processors: broken hyper-threading

#92
It's painful to have to read text like « select Intel Pentium processor models ».

If Intel used marketing names that were more closely related to technical reality, then when something like this happens they wouldn't have so many customers finding themselves in the "maybe I'm affected by this horrid bug" box.

Re: Intel Skylake/Kaby Lake processors: broken hyper-threading

#93

Earlier quoted context omitted.

Because futher down the stack, more reliable a tech has to be. Otherwise good luck debugging. Also agree with heisenbit.

Hmmm... on that note, if the universe is a simulation, then a bug in that could have some interesting ramifications. "Don't use the bookshelf over there, physics is broken on that shiny spot." :D

The problem with finding a physics bug is that it's liable to be amplifiable. Break conservation laws just a little bit and suddenly you have potential for exponential runaway leading to an unplanned reality excursion, and say goodbye to your light-cone.

Re: Intel Skylake/Kaby Lake processors: broken hyper-threading

#94

Earlier quoted context omitted.

>Rule of thumb: On a desktop, if you have an i5 you do not have Hyperthreading. All i3s and i7s do have Hyperthreading, as do new Kaby Lake Pentiums (G4560, 4600, 4620). Hmm...either this statement is wrong or this desktop /proc/cpinfo is wrong: $ grep -E 'model|stepping|cpu cores' /proc/cpuinfo | sort -u cpu cores : 4 model : 94 model name : Intel(R) Core(TM) i5-6600 CPU @ 3.30GHz stepping : 3 $ grep -q '^flags.*[[:…

Hmmm, checking for "ht" seems to be giving weird info. On a i5-750 here (few years old), running Fedora 25: $ grep '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni dtes64 monitor…

It looks like dmidecode also contradicts itself with the hyper threading flag:

    $ sudo dmidecode -t processor | grep -E 'Flags:|HTT|Status|Count'
    	Flags:
		HTT (Multi-threading)
	Status: Populated, Enabled
	Core Count: 4
	Thread Count: 4

Re: Intel Skylake/Kaby Lake processors: broken hyper-threading

#95
post #71

In my experience with parallel code written in Haskell, hyper-threading offers only a very mild speedup, perhaps 10%. It is essentially an illusion, a logical convenience. (How long does it take to complete a parallel task on a dedicated machine? Four cores with hyper-threading off has nearly the performance of eight virtual cores with hyper-threading on.) Many people have neither the interest nor the hardware access…

It depends on what resources your code uses on-chip. If all threads are contending on the same resources, then you won't see a speedup; if they're using different resources, hyperthreading can increase throughput significantly. I've seen hyperthreading give me the equivalent of 50% of another CPU, particularly when I'm running multiple CPU-bound processes concurrently (so they're not executing the same code at the sa…

That makes sense. I'm a mathematician, and my experience is with pure computations, homogeneous across each (virtual) core.

Re: Intel Skylake/Kaby Lake processors: broken hyper-threading

#96
post #4

So if I understand correctly, some affected processors can be fixed by a microcode update, but there are some which cannot be fixed at all? Also the advisory seems to imply that the OCaml compiler uses gcc for code generation, which it does not -- it generates assembly directly, only using gcc as a front end to the linker.

It sounds like they can all be fixed by disabling hyperthreading.

> fixed

mitigated

Re: Intel Skylake/Kaby Lake processors: broken hyper-threading

#97

Earlier quoted context omitted.

So it's okay for software to have bugs that get fixed (I think everybody here acknowledges that software will always have bugs), but Intel isn't allowed to have issues in their processors, even if they can fix them with a software (microcode) update?

There are hardware bugs that are impossible to fix in microcode. What then?

There will always be. What then? We stop producing cpus and wait for some magical new technology that prevents all bugs?

Re: Intel Skylake/Kaby Lake processors: broken hyper-threading

#98
post #85

Earlier quoted context omitted.

Still seems to be doing better than "turn off half of your processor, sorry no fix just buy a new one".

Hyperthreads are just that - threads. It won't be 50 % slower with HT disabled.

Intel still charge extra $100 for it.

Re: Intel Skylake/Kaby Lake processors: broken hyper-threading

#99
post #73
post #18

Earlier quoted context omitted.

CPU manufacturers do do huge amounts of testing, and Intel does formal verification of some functional units. The reliability is far better than most software, in part because making a new release costs billions.

That's absolutely true. When it comes to CPU/memory, skilled software engineers always think, "it must be my bug, it always is". So in that super rare case of actually running into a CPU defect, it's a mindfuck, it'll drive you crazy. You'll be looking for the flaw in your algorithm which makes it fail once a week under production load. But you just can't find it, it makes no sense ... (When it comes to drivers for n…

Similarly: Kernel bugs! Once upon a time I spend a good week trying to reproduce a rare crash one of our users saw ever so often (just enough to get our attention, but not enough to get a repro case). Stack traces made no sense and just in general the whole crash made no sense the more I looked at it. Turns out it was a bug in XNUs pthread subsystem, a part where I would have never looked if it weren‘t for desperation, because, well, it‘s the kernel, it works, right?

Re: Intel Skylake/Kaby Lake processors: broken hyper-threading

#100
post #90
post #60

Earlier quoted context omitted.

I wonder if there's a CPU out there that doesn't have bugs.

stop playing lawyer ball. i'm talking about the bugs that require turning off core functionality (such as hyperthreading) and/or that lead to system halts / corrupted data. yes it happens, but software bugs happen every day where as if your system blue screened every day you know dang well you'd be on the phone with the hardware vendor for a refund / new system.

>yes it happens, but software bugs happen every day where as if your system blue screened every day you know dang well you'd be on the phone with the hardware vendor for a refund / new system.

Well, since hundreds of millions of people use Skylake/Kaby Lake CPUs for 2 years now, and only now we learn about this, obviously this is not of the "system blue screens every day" variety but a very rare bug.

Post reply on HN