Terwijl sommige Linux-enthousiastelingen bevelen gebruikers gretig aan om hun systemen op te starten met de”mitigations=off”kernelparameter voor runtime uitschakelen van verschillende relevante CPU-beveiligingsbeperkingen voor Spectre, Meltdown, L1TF, TAA, Retbleed en vrienden, met de nieuwe AMD Ryzen 7000″Zen 4″-processors, hoewel er nog steeds een aantal softwarebeperkingen nodig zijn, is het voor het grootste deel verrassend sneller en laat het de relevante beperkingen ingeschakeld.
Met AMD Zen 4-processors en de momenteel openbare veiligheidsonthullingen, heeft Linux 6.0 op de Ryzen 7000-serie CPU’s Speculative Store Bypass uitgeschakeld via prctl voor de SSBD/Spectre V4-beperking en Spectre V1-beperkingen van gebruikerskopie/SWAPGS-barrières en __user pointer-sanering. Dan zijn er voor Spectre V2 Retpolines, voorwaardelijke Indirect Branch Predictor Barriers (IBPB), IBRS-firmware, always-on Single Threaded Indirect Branch Predictors (STIBP) en return stack buffer (RSB) vulling. Dit zijn op dit moment de enige softwarebeveiligingsbeperkingen bij Zen 4, waarbij de nieuwe CPU’s niet kwetsbaar zijn voor het assortiment van andere bekende kwetsbaarheden die van invloed zijn op verschillende CPU’s.
De Zen 4 mitigatiestatus op Linux 6.0
Met Zen 4 kun je de kernel nog steeds opstarten met mitigations=off om de SSB, Spectre V1 en Spectre V2 mitigaties uit te schakelen terwijl je de systeem in een”kwetsbare”staat. Hoewel velen naar de mitigatie=uit-benadering leiden om de prestatiestraffen te vermijden die aan de verschillende mitigaties worden toegeschreven, is het in het geval van AMD Zen 4 op de Ryzen 9 7950X niet echt gunstig.
Tot grote verrassing was de standaard/out-of-the-box-status met de mitigatiecontroles over het algemeen sneller dan opstarten met mitigations=off. Hier zijn de benchmarks met een meetbaar verschil:
Hardlopen met mitigations=off was sneller voor een paar synthetische benchmarks zoals Stress-NG, OSBench, Sockperf en de andere gebruikelijke. Maar het vasthouden aan de standaard mitigatiestatus leidde verrassend genoeg tot een merkbaar voordeel voor de webbrowserbenchmarks, Stargate DAW, verschillende OpenJDK-workloads en andere workloads die doorgaans prestatie-impact hebben ondervonden van de verschillende beveiligingsbeperkingen van de afgelopen 4+ jaar.
Het aanhouden van de standaard mitigatiestatus was sneller voor de meeste geteste benchmarks.
Of voor de brede reeks van 190 verschillende benchmarks die zijn uitgevoerd, was het vasthouden aan de standaardbeperkingen in totaal ongeveer 3% sneller dan werken met beperking=uit. Eigenlijk het tegenovergestelde van wat we normaal zien bij andere, oudere processors. Waarom het aanhouden van de standaardbeperkingen ertoe leidt dat de Ryzen 9 7950X sneller is, is een goede vraag (normaal gesproken is het het tegenovergestelde!) te belangrijk, want voor productiesystemen moet u zich echt houden aan de standaard beveiligingsaanbevelingen.
Degenen die alle 190 benchmarks volledig willen doorzoeken, kunnen al mijn gegevens hier vinden. Om een lang verhaal kort te maken, met AMD Zen 4 lijkt het niet de moeite waard om op te starten met”mitigations=off”, maar kan in feite een negatieve invloed hebben op sommige real-world workloads.