因為Linux Kernel 4.20默認啟用了Spectre補丁STIBP,所以導致性能的下降,下降幅度甚至達到了50%,目前STIBP已經被移除,在最新發布的Linux Kernel 4.19.4、4.14.83內核當中已經移除了STIBP補丁。據稱Linux Kernel 4.20就是啟用了Spectre補丁STIBP才導致性能遠不如Linux Kernel 4.19,不過隨后在Linux 4.19.x版本中加入STIBP后性能也出現了下降,因此,包括Linus、Greg Kroah-Hartman等Linux內核維護人員決定對STIBP進行移除并整改。目前Linux內核多用于服務器部署,如果性能影響過大會讓使用Linux的計算機大幅度增加開支。
STIBP介紹
STIBP(全稱Single Thread Indirect Branch Predictors),它是Linux Kernel 4.20內核上的Spectre補丁,正因為這一補丁,使得運行Intel CPU的計算機性能出現性能下降,該補丁先后被移植到Linux Kernel 4.19、4.14內核當中,也導致了這些Linux內核版本的性能下降。
Linus反對
Linux創始人Linus對加入STIBP后在某些負載下性能下降高達50%非常不滿,他認為一個安全補丁帶來那么大的性能下降,就應該考慮STIBP補丁值不值得打,Linus認為應該默認保證性能,言下之意就是他不贊成打STIBP補丁。
STIBP現狀
目前STIBP已經在改進了,改進的STIBP妥協式補丁打法會被公布,以便找到最優的處理策略,新版本的STIBP只會默認只應用于SECCOMP線程與通過prctl()請求它的進程,同時可以通過Linux改該設定。如果是這樣的話,那么使用Linux Kernel 4.20或者是Linux Kernel 4.19都不會產生性能下降明顯的情況。
相關主題