Linus Torvalds is not satisfied with Linux Kernel 4.20 performance degradation
Phoronix recently found that on almost all low-end, high-end Intel processors, the latest beta kernel, Linux Kernel 4.20, has a significant performance degradation over the latest stable version 4.19, while AMD’s processors are not affected. The reason for the performance degradation is related to Intel processor vulnerability patching. The main change in 4.20 is that STIBP is enabled by default for Intel-supported Hyper-Threading processors to prevent cross-thread control of indirect branch predictors.
Linus Torvalds was surprised by the fact that he said on the mailing list that he did not see any words that would affect performance in the discussion list. When performance drops by 50% under certain loads, you should first ask if it is worthwhile, not regardless.
This was marked for stable, and honestly, nowhere in the discussion did I see any mention of just *how* bad the performance impact of this was.
When performance goes down by 50% 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.
So why do that STIBP slow-down by default when the people who *really* care already disabled SMT?
I think we should use the same logic as for L1TF: we default to something that doesn’t kill performance. Warn once about it, and let the crazy people say “I’d rather take a 50% performance hit than worry about a theoretical issue”.
Linus