Кийинки дүйшөмбүдө чыгышы күтүлүп жаткан Linux 6.0 ядросу, AMD Zen процессорлорунда иштеген системалар менен иштөө маселелерин чечүүчү өзгөртүүнү камтыйт. Өндүрүмдүүлүктүн төмөндөшүнүн булагы 20 жыл мурун кээ бир чипсеттерде аппараттык камсыздоо көйгөйүн чечүү үчүн кошулган код экени аныкталган. Аппараттык камсыздоо көйгөйү эчак эле чечилген жана учурдагы чипсеттерде көрүнбөйт, бирок көйгөйдү чечүүнүн эски жолу унутулуп, заманбап AMD процессорлоруна негизделген системалардын иштешинин начарлашынын булагы болуп калды. Intel процессорлорундагы жаңы системаларга эски убактылуу чечүү таасир этпейт, анткени алар ACPIге жалпы процессор_idle драйверин эмес, өзүнчө intel_idle драйверин колдонушат.
STPCLK# сигналын иштетүүдөгү кечигүүдөн улам ишсиз абалдын туура орнотулбаганы менен байланышкан чипсеттерде мүчүлүштүктүн пайда болушуна бөгөт коюу үчүн 2002-жылдын март айында ядрого убактылуу чечим кошулган. Көйгөйдү чечүү үчүн ACPI ишке ашыруу процессорду жайлатуучу кошумча WAIT инструкциясын кошту, андыктан чипсеттин иштебей турган абалына өтүү убактысы болот. AMD Zen3 процессорлорунда IBS (Инструкцияга негизделген үлгүлөрдү алуу) нускамаларын колдонуу менен профилдештирүү учурунда процессор stubтарды аткарууга көп убакыт коротот, бул процессордун жүктөө абалын туура эмес чечмелөөгө жана тереңирээк уйку режимдерин орнотууга алып келет (C- Статистика) процессордун cpuidle тарабынан.
Бул жүрүм-турум бош жана бош эмес абалдардын ортосунда тез-тез алмашып турган жумуш жүктөмдөрүнүн төмөндөшүндө чагылдырылат. Мисалы, айланып өтүү маневрин өчүрүүчү патчты колдонууда, tbench тестинин орточо көрсөткүчтөрү 32191 МБ/секден 33805 МБ/сек чейин көбөйөт.
Source: opennet.ru
