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?"
Intel will release CPU that is not vulnerable to spectre, meltdown and portsmash variants.
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.
"So why do that STIBP slow-down by default when the people who *really* care already disabled SMT?"
Because the people who have the chops to care are different from the people who are running computers, and the people who are damaged by botnetted computers are mostly different from the people who own the botnetted computers. Botnets are used for attack not for suicide.
Linus thinks he can pass the buck but he really is just dropping it.
Under what circumstances does performance go down by 50%? Is this mostly a server issue, or does it affect some desktop users as well? And if it does affect desktop users, which ones? Everybody, or just those doing video editing or high-end gaming (if anyone does that under Linux)?
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?
Of course I do really care.
But I assumed the Linux kernel developers did too!
Hence I thought in the case of speed VS security, they would act like a life-support machine developer, not like a "AAA" offline game developer.
Now I know that those who "really care", better switch to BSD.
Thanks Crack Groan-Arseman!
What impact will that have on the typical workloads seen by users?
What impact will it have on virtualization seen in many common software these days, including most web browsers?
Will it essentially turn a fairly typical processor of today in to something no better than a gaming computer of 2005? Or is it massively overblown?
While I have done some multithreaded work, it was extremely basic, so I don't know for certain how good it is.
I do know that there are plenty of tasks impossible to accelerate because they require to be done in order, step after step. But I also know there is a fuckload of things that can be done in parallel.
What I don't know is the extent of developers taking advantage of it outside of browsers and high-end games.
Is there any actual DECENT solid benchmarks on workloads and comparisons to how much performance is lost that isn't a percentage.
Percentages and scores are worthless metrics when it comes to performance because there is no such thing as A single performance measure. (even though many continue trying to do such a stupid thing, including Microsoft with their dumb computer scores)
A lot of stuff I have seen over the months has been a lot of PANIC and FUD , also a lot of shitposting over Intel VS AMD.
There you have one: https://www.phoronix.com/scan.php?page=article&item=linux-420-bisect&num=1
and another, comparing the reverted code with a new approach that impacts a lot less in performance: https://www.phoronix.com/scan.php?page=article&item=linux-420wip-stibp&num=1
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
Probably not.
Intel does, however, pay a whole heap of kernel developers. This is one of those situations where this has shown itself to be less than ideal, as witnessed by the initial patch for Meltdown, which at first tried to push every x86 manufacturer under the bus to save Intel's bacon. Have a looksie in the archives, and you'll find it took quite some push-back to stop that.
This is the real danger, not any vendor running around corrupting distributors.
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.
I believe the proper metric he's looking for is furlongs per fortnight.
Do you mean Furries per Fortnite?
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.
Yo!
You seriously made me laugh. :)
There was no pushback. AMD literally had to call out Intel on their bullshit (LKML) and even then the High Order in the Church of Linux, are STILL trying to make this go away. Intel has dumped a tonne of cash at high value developers and PR. If the Washington Post can make Linus take a months vacation, Intel can turn everyone else against him.
Short version is the people who are "fixing" this, are the last ones who should to be involved in validation. Their quite comfortable lives depend on it. Intel has no upgrade path, certainly not at the scale of Enterprises thus they are doing nothing but trying to delay this as much as possible until they do.
Why on Earth are changes going into the Kernel that are neither backed by data showing their impact (net or loss), nor even vetted? The infrastructure is there ffs.
I'd call AMD outright calling bullshit on your shenanigans as a bit of a pushback. I think there where more, but maybe I'm misremembering. I remember thought that the behaviour didn't create anywhere near the stink it should have.
Either way, the whole situation has neatly exposed one of the fundamental problems with the latent conflict of interests within open source where developers have become beholden to the various OEMs. To most people ethics is great as long as it's not their paycheck which is on the line. This is why I've always been a bit skeptic about vendors outright paying developers for working on infrastructure. It's great as long as no single party holds enough sway to impede their competitors and their interests in general are aligned with the interests of the project. But the moment any of these aren't true any more, things usually goes horribly wrong.
Linux is the gateway drug of the Open Source narcotic. How many people have been 0wned immediately after they ran Linux? It is in Linux's best interest to keep those new users safe. Otherwise the Linux Operating System will get a worst reputation than it already has. Best of luck.
Slugs per acre, mate. That's proper pressure for you. Alternatively, an indication you're a shit gardener.