V jádru Linux byla nalezena zapomenutá oprava, která ovlivňuje výkon CPU AMD

V jádru Linux 6.0, jehož vydání je očekáváno příští pondělí, byla přijata změna, která řeší problémy s výkonem systémů na procesorech AMD Zen. Příčinou poklesu výkonu byl kód, který byl přidán před 20 lety k obraně proti hardwarovému problému v některých čipsetech. Tento hardwarový problém byl dávno odstraněn a neprojevuje se v moderních čipsetech, ale starý obraný mechanismus byl zapomenut a stal se zdrojem poklesu výkonu na systémech založených na současných CPU AMD. Nové systémy na CPU Intel nejsou tímto starým obraným manévrem ovlivněny, protože v nich je přístup k ACPI realizován pomocí samostatného ovladače intel_idle, nikoli společného ovladače processor_idle.

Obraný manévr byl přidán do jádra v březnu 2002 za účelem blokování projevu chyby v čipsetech, související s nedostatečným nastavením stavu nečinnosti (idle) kvůli zpoždění zpracování signálu STPCLK#. Pro obraný problém v implementaci ACPI byla přidána dodatečná instrukce WAIT, která zpomalila procesor, aby čipset stíhal přejít do stavu nečinnosti. Při profilování pomocí instrukcí IBS (Instruction-Based Sampling) na procesorech AMD Zen3 bylo zjištěno, že procesor tráví významnou část času vykonáváním zbytečného kódu, který vede k nesprávné interpretaci stavu zátěže procesoru a vyžadování hlubších stavů spánku (C-State) zpracovatelem cpuidle.

Takové chování se odráží v poklesu výkonu při zátěžích, kde se často střídají stavy nečinnosti (idle) a aktivity (busy). Například při použití patche, který obraný manévr deaktivuje, se průměrné výsledky testu tbench zvýšily z 32191 MB/s na 33805 MB/s.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster