Fergetten patch fûn yn Linux-kernel dy't ynfloed hat op AMD CPU-prestaasjes

De Linux 6.0-kernel, dy't ferwachte wurdt kommende moandei frijlitten, befettet in feroaring dy't prestaasjesproblemen oanpakt mei systemen dy't rinne op AMD Zen-processors. De boarne fan 'e prestaasjesdaling waard fûn dat koade 20 jier lyn tafoege is om in hardwareprobleem yn guon chipsets om te wurkjen. It hardwareprobleem is al lang fêst en ferskynt net yn hjoeddeistige chipsets, mar de âlde oplossing foar it probleem is fergetten en is in boarne wurden fan prestaasjesdegradaasje op systemen basearre op moderne AMD CPU's. Nije systemen op Intel CPU's wurde net beynfloede troch de âlde oplossing, om't se tagong krije ta ACPI mei in aparte intel_idle-bestjoerder, en net de algemiene processor_idle-bestjoerder.

In oplossing waard tafoege oan de kernel yn maart 2002 om it ferskinen fan in brek yn chipsets te blokkearjen dy't ferbûn is mei it net goed ynstellen fan de idle-tastân fanwege in fertraging yn it ferwurkjen fan it STPCLK#-sinjaal. Om it probleem om te gean, hat de ACPI-ymplemintaasje in ekstra WAIT-ynstruksje tafoege, dy't de prosessor fertraget, sadat de chipset tiid hat om yn in idle steat te gean. By profilearjen mei IBS (Instruction-Based Sampling) ynstruksjes op AMD Zen3-prosessoren, waard ûntdutsen dat de prosessor in signifikante tiid besteget oan it útfieren fan stubs, wat liedt ta in ferkearde ynterpretaasje fan 'e prosessorladingsstatus en it ynstellen fan djippere sliepmodi (C- State) troch de prosessor cpuidle.

Dit gedrach wurdt wjerspegele yn fermindere prestaasjes ûnder wurkdruk dy't faak wikselje tusken idle en drokke steaten. Bygelyks, by it brûken fan in patch dy't de bypass-manoeuvre útskeakele, ferheegje de tbench-testgemiddelden fan 32191 MB / s nei 33805 MB / s.

Boarne: opennet.ru

Add a comment