V jedru Linux je bila najdena pozabljena zakrpa, ki vpliva na zmogljivost procesorjev AMD.

V jedru Linux 6.0, katerega izid je predviden naslednji ponedeljek, je bila sprejeta sprememba, ki rešuje težave z zmogljivostjo sistemov na procesorjih AMD Zen. Vir upada zmogljivosti je bil koda, dodana pred 20 leti za obhod strojne težave v nekaterih čipovjih. Strojna težava je že dolgo odpravljena in se ne pojavlja v sodobnih čipovjih, toda stari obvod je bil pozabljen in je postal vir zmanjšanja zmogljivosti v sistemih, ki temeljijo na sodobnih procesorjih AMD. Novi sistemi s procesorji Intel starega obvodnega manevra ne prizadenejo, saj se v njih dostop do ACPI izvaja s pomočjo ločenega gonilnika intel_idle, namesto skupnega gonilnika processor_idle.

Obvodni manever je bil dodan v jedro marca 2002 za blokiranje manifestacije napake v čipovjih, povezane z odsotnostjo ustrezne nastavitve stanja brez aktivnosti (idle) zaradi zamude pri obdelavi signala STPCLK#. Da bi se obšla težava v implementaciji ACPI, je bila dodana dodatna instrukcija WAIT, ki upočasni procesor, da bi se čipovje lahko pravočasno preklopilo v stanje brez aktivnosti. Med profiliranjem s pomočjo instrukcij IBS (Instruction-Based Sampling) na procesorjih AMD Zen3 je bilo ugotovljeno, da procesor porabi znatno čas za izvajanje blokade, kar vodi v napačno interpretacijo stanja obremenitve procesorja in nastavitev globljih načinov spanja (C-State) obdelovalniku cpuidle.

To vedenje se odraža v zmanjšanju zmogljivosti pri obremenitvah, kjer se pogosto izmenjujeta stanja brez aktivnosti (idle) in aktivnosti (busy). Na primer, pri uporabi popravka, ki onemogoča obvodni manever, se povprečni rezultati testa tbench povečajo s 32191 MB/s na 33805 MB/s.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster