Një patch i harruar u gjet në kernelin Linux që ndikon në performancën e CPU-ve AMD

Kerneli Linux 6.0, që pritet të dalë të hënën e ardhshme, përfshin një ndryshim që trajton problemet e performancës me sistemet që funksionojnë në procesorët AMD Zen. Burimi i rënies së performancës u zbulua se ishte kodi i shtuar 20 vjet më parë për të zgjidhur një problem harduerik në disa çipa. Problemi i harduerit është rregulluar prej kohësh dhe nuk shfaqet në çipset aktuale, por mënyra e vjetër e zgjidhjes së problemit është harruar dhe është bërë një burim i degradimit të performancës në sistemet e bazuara në CPU-të moderne AMD. Sistemet e reja në CPU-të Intel nuk ndikohen nga mënyra e vjetër e zgjidhjes, pasi ato aksesojnë ACPI duke përdorur një drejtues të veçantë intel_idle, dhe jo drejtuesin e përgjithshëm processor_idle.

Një rrugëdalje u shtua në kernel në mars 2002 për të bllokuar shfaqjen e një gabimi në çipa të lidhur me mosvendosjen e duhur të gjendjes së papunë për shkak të një vonese në përpunimin e sinjalit STPCLK#. Për të zgjidhur problemin, zbatimi ACPI shtoi një udhëzim shtesë WAIT, i cili ngadalëson procesorin në mënyrë që chipset të ketë kohë për të shkuar në një gjendje boshe. Gjatë profilizimit duke përdorur udhëzimet IBS (Instruction-Based Sampling) në procesorët AMD Zen3, u zbulua se procesori shpenzon një kohë të konsiderueshme duke ekzekutuar cungët, gjë që çon në një interpretim të gabuar të gjendjes së ngarkesës së procesorit dhe vendosjen e mënyrave më të thella të gjumit (C- Gjendja) nga cpuidle e procesorit.

Kjo sjellje reflektohet në reduktimin e performancës nën ngarkesat e punës që alternojnë shpesh midis gjendjeve të papunë dhe të zënë. Për shembull, kur përdorni një patch që çaktivizon manovrën e anashkalimit, mesataret e testit tbench rriten nga 32191 MB/s në 33805 MB/s.

Burimi: opennet.ru

Shto një koment