Linux nüvəsində AMD CPU-larının işinə təsir edən unudulmuş yamaq tapıldı

Gələn bazar ertəsi buraxılması gözlənilən Linux 6.0 nüvəsi, AMD Zen prosessorlarında işləyən sistemlərin performans problemlərini həll edən dəyişikliyi ehtiva edir. Performansın azalmasının mənbəyinin bəzi çipsetlərdəki hardware problemini həll etmək üçün 20 il əvvəl əlavə edilmiş kod olduğu aşkar edilmişdir. Aparat problemi çoxdan həll olunub və indiki çipsetlərdə görünmür, lakin problemin köhnə həlli unudulub və müasir AMD CPU-larına əsaslanan sistemlərdə performansın azalmasının mənbəyinə çevrilib. Intel CPU-larındakı yeni sistemlər köhnə həll yolu ilə təsirlənmir, çünki onlar ümumi prosessor_idle sürücüsündən deyil, ayrıca intel_idle sürücüsündən istifadə edərək ACPI-yə daxil olurlar.

STPCLK# siqnalının emalında gecikmə səbəbindən boş vəziyyətin düzgün qurulmaması ilə bağlı çipsetlərdəki səhvin görünüşünün qarşısını almaq üçün 2002-ci ilin mart ayında nüvəyə müvəqqəti həll əlavə edildi. Problemi həll etmək üçün ACPI tətbiqi prosessoru yavaşlatan əlavə GÖZLƏMƏ təlimatı əlavə etdi ki, çipsetin boş vəziyyətə keçməyə vaxtı olsun. AMD Zen3 prosessorlarında IBS (Təlimat Əsaslı Nümunələmə) təlimatlarından istifadə edərək profil hazırlayarkən məlum oldu ki, prosessor stubları yerinə yetirmək üçün xeyli vaxt sərf edir ki, bu da prosessorun yüklənməsi vəziyyətinin yanlış şərhinə və daha dərin yuxu rejimlərinin (C-) qurulmasına gətirib çıxarır. State) prosessor cpuidle tərəfindən.

Bu davranış boş və məşğul vəziyyətlər arasında tez-tez dəyişən iş yükləri altında performansın azalmasında əks olunur. Məsələn, bypass manevrini söndürən yamaqdan istifadə edərkən, tbench testinin orta göstəriciləri 32191 MB/s-dən 33805 MB/s-ə qədər yüksəlir.

Mənbə: opennet.ru

Добавить комментарий