V jedru Linuxa je bil najden pozabljen popravek, ki vpliva na zmogljivost procesorja AMD

Jedro Linuxa 6.0, ki naj bi izšlo naslednji ponedeljek, vključuje spremembo, ki obravnava težave z zmogljivostjo sistemov, ki se izvajajo na procesorjih AMD Zen. Ugotovljeno je bilo, da je vir padca zmogljivosti koda, ki je bila dodana pred 20 leti za rešitev težave s strojno opremo v nekaterih naborih čipov. Težava s strojno opremo je že dolgo odpravljena in se ne pojavlja v trenutnih naborih čipov, vendar je bila stara rešitev težave pozabljena in je postala vir poslabšanja zmogljivosti v sistemih, ki temeljijo na sodobnih procesorjih AMD. Stara rešitev ne vpliva na nove sisteme na procesorjih Intel, saj dostopajo do ACPI z ločenim gonilnikom intel_idle in ne s splošnim gonilnikom processor_idle.

Marca 2002 je bila jedru dodana rešitev za blokiranje pojava napake v naborih čipov, povezane z nepravilno nastavitvijo stanja mirovanja zaradi zakasnitve pri obdelavi signala STPCLK#. Da bi se izognili težavi, je implementacija ACPI dodala dodatno navodilo WAIT, ki upočasni procesor, tako da ima nabor čipov čas, da preide v stanje mirovanja. Pri profiliranju z uporabo navodil IBS (Instruction-Based Sampling) na procesorjih AMD Zen3 je bilo ugotovljeno, da procesor porabi precej časa za izvajanje škrbin, kar vodi do nepravilne interpretacije stanja obremenitve procesorja in nastavitve globljih načinov mirovanja (C- State) s strani procesorja cpuidle.

To vedenje se odraža v zmanjšani zmogljivosti pri delovnih obremenitvah, ki se pogosto izmenjujejo med stanjem mirovanja in zasedenostjo. Na primer, ko uporabljate popravek, ki onemogoči obvodni manever, se povprečja preizkusa tbench povečajo s 32191 MB/s na 33805 MB/s.

Vir: opennet.ru

Dodaj komentar