Podczas gdy niektóre Entuzjaści Linuksa chętnie polecają użytkownikom uruchamianie swoich systemów z parametrem jądra „mitigations=off” w celu wyłączenia w czasie wykonywania różnych istotnych złagodzeń bezpieczeństwa procesora dla Spectre, Meltdown, L1TF, TAA, Retbleed i znajomych, za pomocą nowego AMD Ryzen 7000 „Zen 4-calowe procesory, podczas gdy nadal wymagają pewnych łagodzeń oprogramowania, są zaskakująco szybsze w większości, pozostawiając włączone odpowiednie łagodzenia.

Z procesorami AMD Zen 4 i obecnymi publicznymi ujawnieniami bezpieczeństwa, Linux 6.0 na procesorach z serii Ryzen 7000 ma wyłączone spekulacyjne pomijanie sklepu przez prctl w celu łagodzenia skutków SSBD/Spectre V4 i Spectre V1 podczas kopiowania użytkownika Bariery/SWAPGS i __oczyszczanie wskaźnika użytkownika. Następnie dla Spectre V2 są Retpoline, warunkowe bariery pośrednich predyktorów rozgałęzień (IBPB), oprogramowanie układowe IBRS, zawsze włączone jednowątkowe pośrednie predyktory rozgałęzień (STIBP) i wypełnianie bufora stosu powrotnego (RSB). Są to jedyne środki łagodzące bezpieczeństwo oprogramowania związane z Zen 4 w tej chwili, ponieważ nowe procesory nie są podatne na szereg innych znanych luk w zabezpieczeniach wpływających na różne procesory.

Stan łagodzenia Zen 4 w Linuksie 6.0

Z Zen 4 nadal możesz uruchomić jądro z mitigations=off, aby wyłączyć zastosowane łagodzenia SSB, Spectre V1 i Spectre V2 przy pozostawieniu system w stanie „podatnym”. Podczas gdy wiele prowadzi do podejścia łagodzącego=wyłączonego, aby uniknąć kar za wydajność przypisywanych różnym łagodzeniu, w przypadku AMD Zen 4 na Ryzen 9 7950X nie jest to tak naprawdę korzystne.

Ku wielkiemu zdziwieniu, stan domyślny/gotowy do użycia z kontrolkami mitygacji był generalnie szybszy niż uruchamianie z mitigations=off. Oto benchmarki z wymierną różnicą:
Uruchomienie z mitygacjami=off było szybsze w przypadku kilku syntetycznych benchmarków, takich jak Stress-NG, OSBench, Sockperf i innych zwykłych. Jednak trzymanie się domyślnego stanu łagodzenia, co zaskakujące, prowadziło do zauważalnych korzyści w testach porównawczych przeglądarek internetowych, Stargate DAW, różnych obciążeniach OpenJDK i innych obciążeniach, które zwykle miały wpływ na wydajność z różnych łagodzeń bezpieczeństwa w ciągu ostatnich 4 lat.

Zachowanie domyślnego stanu łagodzenia skutków było szybsze w przypadku większości testowanych testów porównawczych.

Lub dla szerokiego zakresu 190 różnych przeprowadzonych testów porównawczych, trzymanie się domyślnych łagodzeń było ogólnie o około 3% szybsze niż uruchamianie z łagodzeniami=wyłączonymi. Zasadniczo przeciwieństwo tego, co zwykle widzimy w innych, starszych procesorach. Dlaczego utrzymywanie domyślnych łagodzeń prowadzi do szybszego Ryzen 9 7950X, jest dobrym pytaniem (zazwyczaj jest odwrotnie!), Ale nie zawracałem sobie głowy zagłębianiem się w profilowanie systemu ze względu na ograniczenia czasowe i ostatecznie nie zbyt ważne, ponieważ w przypadku systemów produkcyjnych należy naprawdę przestrzegać domyślnych zaleceń dotyczących bezpieczeństwa.

Ci, którzy chcą w pełni przejrzeć wszystkie 190 testów porównawczych, mogą znaleźć wszystkie moje dane tutaj. Krótko mówiąc, z AMD Zen 4 nie wydaje się opłacalne uruchamianie z „ograniczeniami=wyłączone”, ale w rzeczywistości może negatywnie wpłynąć na niektóre rzeczywiste obciążenia.

Categories: IT Info