I kärnan Linux En bortglömd patch som påverkar AMD-processorns prestanda har upptäckts.

In i kärnan Linux Version 6.0, som förväntas släppas nästa måndag, innehåller en ändring som åtgärdar prestandaproblem med AMD Zen-processorer. Orsaken till prestandaförlusten var kod som lades till för 20 år sedan för att kringgå ett hårdvaruproblem i vissa chipset. Hårdvaruproblemet har länge åtgärdats och visas inte längre i nuvarande chipset, men den gamla lösningen har övergivits och har blivit källan till prestandaförsämring på system baserade på moderna AMD-processorer. Nyare system med Intel-processorer påverkas inte av den gamla lösningen, eftersom de får åtkomst till ACPI med en separat intel_idle-drivrutin, inte den delade processor_idle-drivrutinen.

En lösning lades till i kärnan i mars 2002 för att blockera en bugg i chipset där viloläget inte var korrekt inställt på grund av en fördröjning i bearbetningen av STPCLK#-signalen. För att kringgå problemet lades en ytterligare WAIT-instruktion till i ACPI-implementeringen, vilket saktade ner processorn så att chipsetet hann gå in i viloläge. Vid profilering med hjälp av instruktioner för instruktionsbaserad sampling (IBS) på AMD Zen3-processorer upptäcktes att processorn spenderar en betydande mängd tid på att exekvera en stub, vilket leder till felaktig tolkning av processorns belastningstillstånd och inställning av djupare vilolägen (C-tillstånd) av cpuidle-hanteraren.

Detta beteende återspeglas i en minskning av prestandan under belastningar som ofta växlar mellan viloläge och upptaget tillstånd. Till exempel, när man använder en patch som inaktiverar lösningen, ökar det genomsnittliga tbench-riktmärket från 32191 33805 MB/s till XNUMX XNUMX MB/s.

Källa: opennet.ru

Köp pålitlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster