Two Linux Kernels Revert Performance-Killing Spectre Patches (phoronix.com)
Friday Greg Kroah-Hartman released stable point releases of Linux kernel 4.19.4, as well as 4.14.83 and 4.9.139. While they were basic maintenance updates, the 4.19.4 and 4.14.83 releases are significant because they also reverted the performance-killing Spectre patches (involving "Single Thread Indirect Branch Predictors", or STIBP) that had been back-ported from Linux 4.20, according to Phoronix:
There is improved STIBP code on the way for Linux 4.20 that by default just applies STIBP to SECCOMP threads and processes requesting it via prctl() but otherwise is off by default (that behavior can also be changed via kernel parameters). Once that code is ready to go for Linux 4.20, we may see it then back-ported to these stable trees.
Aside from reverting STIBP, these point releases just have various fixes in them as noted for 4.19.4, 4.14.83, and 4.9.139.
Last Sunday Linus Torvalds complained that the performance impact of the STIPB code "was clearly way more expensive than people were told," according to ZDNet: "When performance goes down by 50 percent on some loads, people need to start asking themselves whether it was worth it. It's apparently better to just disable SMT entirely, which is what security-conscious people do anyway," wrote Torvalds. "So why do that STIBP slow-down by default when the people who *really* care already disabled SMT?"
There is improved STIBP code on the way for Linux 4.20 that by default just applies STIBP to SECCOMP threads and processes requesting it via prctl() but otherwise is off by default (that behavior can also be changed via kernel parameters). Once that code is ready to go for Linux 4.20, we may see it then back-ported to these stable trees.
Aside from reverting STIBP, these point releases just have various fixes in them as noted for 4.19.4, 4.14.83, and 4.9.139.
Last Sunday Linus Torvalds complained that the performance impact of the STIPB code "was clearly way more expensive than people were told," according to ZDNet: "When performance goes down by 50 percent on some loads, people need to start asking themselves whether it was worth it. It's apparently better to just disable SMT entirely, which is what security-conscious people do anyway," wrote Torvalds. "So why do that STIBP slow-down by default when the people who *really* care already disabled SMT?"
sometimes I feel the responsiveness of my windows system running on an i7 is slower than a commodore 64. It should make people wonder with all the advances in chip manufacturing, speed and..... Oh wait Moores law doesn't apply to user experience.
Supposedly Whiskey Lake has hardware mitigations for some variants. I think Cannon Lake is supposed to have mitigations for everything, but the 10nm process is having problems.
My Other Computer Is A Data General Nova III.
Variations on the idea will ALWAYS be present in any high performance SMT processor. CPUs are just so complicated and there are so many interactions that as long as there are simultaneous threads, one thread will be able to create resource contention with another.
A solution would be to have a very simple (slow) processor, probably an ARM chip, which handles cryptographic tasks. Complexity is very much the enemy of security, especially regarding the types of side channel attacks you mentioned.
Distributions should handle this for everyday users, so they don't have to care. People who accidentally install a kernel should get safe defaults. Defaulting to insecure is wrong.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
9th gen core i7 losing hyperthreading anyway, Intel realizes that the only way to be safe to to eliminate hyperthreading. The real solution has always been to turn off hyperthreading. So many fixes have already been proving to be flawed and exploited, which is why some are implementing just disabling hyperthreading through the OS.
Linus made a point here, however, I think even he is wrong.
Would people be happy working on a 486 architecture that is 100% safe? (let's pretend 100% safe exists for the sake of the argument). I'd rather get things done quickly than spend part of the afternoon to complete just one of the jobs I'm meant to do. Would you spend, say, 10 times more to complete your jobs in a totally safe system as opposed to complete them much faster in a system that is quite safe, but not 100%?
And now where Linus gets it wrong. SMT _does_ improve performance specially in data crunching pipelines (interestingly what I do for a living). Disabling it may well help me be safer, but I would loose ~40% performance (just ran some quick tests with sysbench). Sure, writing software does not demand much hardware. Vim/NVim/Kakoune do the jobs rather well. But when you write code that also requires performance given the volume of data the user (me) works on... SMT can have a significant impact. So is not as simple as just disabling SMT.
Probably all that's needed is a bit of common sense when it comes to download software?
If security is all that matters... why don't you/we/they live in bunkers? Because most properties are fairly easy to break into. Throw a stone to a glass and there's a way in, a bunker would _never_ have that problem... specially because they probably don't even have windows. Not to mention trespassing: gardens, backyards... all they need is to jump in. That problem would never exist in a bunker. However, living in a bunker is pretty inconvenient, isn't it?
How would you express performance loss? Percentage by workload is the only meaningful measure. What are you looking for?
on a base model (64kb) C64? You kids today and your "slow" computers...
Seriously though, just pop a command window or the text version of emacs up (which is more or less the experience on your C64) and you'll find it plenty responsive. OTOH pull up 20+ browser tabs, run a compile and a video encoder in the background and maybe throw in some crypto currency mining and a bittorrent client for fun and yeah, you might occasionally see some lag on a window change.
I think we're asking for a bit much from our computers at times. Still, if it bother's you then buy a newer CPU, spend $200 bucks on a mobo and another $200 on 32GB of ram and $300 on your SSD. My bro did and that was that. It's not an insurmountable problem, it's not even that expensive (my C64 was $300 in 1992, that's almost $600 today and the monitor was probably another $150 at least, I can't remember). Again, kid's these days...
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
intel pay them off to not really slow there chips down
I believe the proper metric he's looking for is furlongs per fortnight.
The goal of computer science is to build something that will last at least until we've finished building it.
These days hardware is software. e.g. management engine, things that fix cosmic rays, race conditions, microcode, .....)
Some drink at the fountain of knowledge. Others just gargle.
Slugs per acre, mate. That's proper pressure for you. Alternatively, an indication you're a shit gardener.