Linux 6.0 tuum, mille väljaandmine on oodata järgmisel esmaspäeval, sisaldab muudatust, mis lahendab AMD Zen protsessoritega süsteemide jõudlusprobleemid. Jõudluse languse põhjuseks oli 20 aastat tagasi lisatud kood, mis oli mõeldud teatud kiipsete riistvaraprobleemi mööda hiilimiseks. Riistvaraprobleem on juba ammu lahendatud ja ei avaldu enam uuemates kiipsetes, kuid vana lahenduse meetod unustati ja muutus kaasaegseid AMD CPU-sid kasutavate süsteemide jõudluse languse allikaks. Uued Intel CPU-d kasutavad süsteemid ei puutu sellesse vanasse lahendusse, kuna nendes pääseb ACPI-le juurde eraldi draiveri intel_idle kaudu, mitte ühise draiveri processor_idle abil.
Ringhalli manööverd lisati tuumasse märtsis 2002, et blokeerida vea ilmsiks tulek kiibistikus, mis oli seotud ebapiisava hüpnoosi (idle) oleku seadmisega STPCLK# signaali töötlemise viivituse tõttu. Probleemi lahendamiseks ACPI rakenduses lisati täiendav WAIT käsk, mis aeglustas protsessorit, et kiibistikul oleks aega minna hüpnoosi (idle) olekusse. Profiliseerimisel, kasutades IBS (Instruction-Based Sampling) käsklusi AMD Zen3 protsessorite peal, leiti, et protsessor veedab märkimisväärset aega, tehes summutust, mis viib vale tõlgendamiseni protsessori koormuse seisundist ja sügavamate uneolukordade (C-State) seadistamiseni cpuidle töötleja poolt.
Selline käitumine peegeldub jõudluse vähenemises koormustes, kus tihti vahetuvad hüpnoosi (idle) ja tegevuse (busy) olekud. Näiteks, kasutades plaati, mis keelab ringhalli manöövri, tõuseb tbench testi keskmine skoor 32191 MB/s-lt 33805 MB/s-le.
Allikas: opennet.ru
