News for hackers. Stuff that matters.
Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by lorenzhs on Sunday June 25, 2017 @11:36AM (#14630467)
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?
Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by userbinator on Sunday June 25, 2017 @11:48AM (#14630550)
In general, people expect hardware to be far more bug-free than all the software which depends on it. I'm disgusted enough at the current trend of continuously releasing half-baked software and "updating" it to fix some of the bugs (while introducing new bugs in the process); and yet it seems to be spreading to hardware too. From the perspective of formal verification, buggy hardware is like an incorrect axiom.

but Intel isn't allowed to have issues in their processors, even if they can fix them with a software (microcode) update?

They could've caught and fixed this one with some more testing, before actually releasing. Formal verification isn't necessarily going to help, if it's a statistical type of defect --- thus the concept of wafer yield, and why dies manufactured from the exact same masks can behave completely differently with respect to the clock speeds attainable and voltages required.

Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by Cyph0n on Sunday June 25, 2017 @12:15PM (#14630710)
Formal verification cannot be used to fully verify an entire Intel CPU, simply because the computational resources required to do so are astronomical. Heck, the cache coherence unit alone is basically impossible to verify.

Therefore, CPU designers verify the important units (e.g., the ALU) independently of each other, and then try to verify their interaction. But a system level design verification check is simply not possible.

Obviously, faults that result from fabrication can still take place, so they are tested for using BIST and JTAG. Test coverage can be pretty high, but obviously not 100%.

As you can see, there are still a ton of places where hardware errors can seep through.

Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by lorenzhs on Sunday June 25, 2017 @12:12PM (#14630683)
Expectations of hardware are indeed higher than for software, but isn't it a valid trade-off for Intel to make as long as most of the issues can be fixed with a microcode update? On Windows, it's updated via Windows Update, and on most Linux distributions, a package exists for CPU microcode. Most users have an easy—if not automatic—way to obtain the updates.

I believe the main issue with formally verifying everything is that reasoning about parallel code is extremely hard and might well make the entire endeavour unattainable. It would be great to have formally verified CPUs, though.

> They could've caught and fixed this one with some more testing, before actually releasing.

Isn't this true of any bug?

Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by sqldba on Monday June 26, 2017 @12:31AM (#14634107)
Windows update applies CPU patches?!

I know they did AMT but that was a special case and different.

Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by lorenzhs on Monday June 26, 2017 @07:55AM (#14636007)
Seems like they do when it fixes serious bugs, a quick search yields e.g. https://support.microsoft.com/en-us/help/3064209/june-2015-i... ("This update fixes several issues with Intel CPUs that could cause computer crashes or functions incorrectly.")
Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by ComputerGuru on Sunday June 25, 2017 @02:19PM (#14631350)
If this "fix" ends up disabling HT, how can I get a refund not just for the CPU but for the $3k laptop I spec'd around it? Without needing to sue?
Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by lorenzhs on Sunday June 25, 2017 @04:38PM (#14632039)
That's just the workaround until a fix is available for your CPU, if I understood correctly.
Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by ComputerGuru on Sunday June 25, 2017 @05:17PM (#14632238)
No, that's not what I meant. In the past, Intel's microcode updates have simply disabled the broken functionality as an official solution.

http://techreport.com/news/26911/errata-prompts-intel-to-dis...

Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by lorenzhs on Monday June 26, 2017 @07:57AM (#14636018)
You specifically said the fix might be to permanently disable HT.

The TSX situation was indeed unfortunate, I have one of the affected CPUs. But it was a new feature that was broken, not something that used to work, so the bug's impact was less serious, and disabling the feature didn't have too much of an impact.

Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by brianwawok on Sunday June 25, 2017 @04:58PM (#14632143)
Contact your laptop OEM.
Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by voltagex_ on Sunday June 25, 2017 @07:56PM (#14632934)
Have you ever had to do this?

The Dell XPS 9350 (Skylake) has numerous issues with GPU noise, USB-C compatibility, wifi reliability - Dell don't care unless your consumer laws are strong enough to make them care.

Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by brianwawok on Sunday June 25, 2017 @09:50PM (#14633460)
No but dell had a 30 day full refund policy. Did those bugs not start until day 31?
Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by voltagex_ on Sunday June 25, 2017 @10:14PM (#14633558)
TBH, everything was covered by warranty other than the coil whine and wifi - by sticking to one particular driver version you can avoid many of the wifi issues. Not everyone has had the USB-C problems and it's gotten a little better with the most recent updates.
Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by kutkloon7 on Sunday June 25, 2017 @01:50PM (#14631215)
Well, if a software bug leads to data corruption it is not really "allowed" as well. It is quite amazing that there are not more bugs like this. Intel spends an insane amount of money on very large teams of very smart people to work on these insanely complicated systems.

I don't think this is sustainable, and I think that massive arrays of relatively simple processors. First, we will need a culture shift that learns programmers to program concurrent programs from the start, and this will take a lot of time (because technology moves a lot faster than culture).

Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by sqldba on Monday June 26, 2017 @12:27AM (#14634094)
It would be nice if they allowed users to update rather than vendors. I have a mobile Xeon. I don't know if it's affected or not.
Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by throwaway2048 on Sunday June 25, 2017 @12:11PM (#14630678)
There are hardware bugs that are impossible to fix in microcode. What then?
Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by baq on Sunday June 25, 2017 @12:15PM (#14630706)
you make workarounds in software, obviously.
Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by userbinator on Sunday June 25, 2017 @12:26PM (#14630773)
...or recall all the hardware and replace it:

https://en.wikipedia.org/wiki/Pentium_FDIV_bug

Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by coldtea on Sunday June 25, 2017 @01:29PM (#14631107)
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 by throwaway2048 on Sunday June 25, 2017 @01:40PM (#14631168)
Its why you can't treat hardware bugs and dismiss them flippantly like software ones.
Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by AsyncAwait on Sunday June 25, 2017 @11:49AM (#14630553)
It's funny, since many of today's software bugs are due to the legacy of C, faults of which can often times be attributed to mimicking the behaviour CPU hardware too closely.

EDIT: My wording was poor, but what I meant was that it's not like hardware vendors do not make bugs happen due to deficiencies in their design, which are not only tolerated, but often reflected in software, which runs counter to OP saying that apparently hardware vendors are not allowed to have bugs, but the software ones are:

> 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

Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by blahman2 on Sunday June 25, 2017 @12:13PM (#14630692)
Go back to rust-land now :D
Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by AsyncAwait on Sunday June 25, 2017 @12:30PM (#14630793)
It was meant as a response to OP basically saying that hardware vendors make way fewer bugs that the software ones, which is true, but many bugs of software can arguably be attributed to hardware design, so it's not like they're without fault. Rust has nothing to do with it, not sure why even bring it up.
Re:Intel Skylake/Kaby Lake processors: broken hyper-threading by blahman2 on Sunday June 25, 2017 @12:57PM (#14630936)
I get it - sorry, meant to playfully Sunday afternoon troll you.

Ever since I moved from C to Java (I like low level stuff but the company I joined is such) I have been having one of three major problems - logic bugs, too many frameworks, causing bugs due to lack of in depth understanding of each one of them, and GC bottlenecks. Of all of them, I hate the GC ones the most.