AMD CPU performansını etkileyen Linux çekirdeğinde bulunan unutulmuş yama

Önümüzdeki Pazartesi günü piyasaya sürülmesi beklenen Linux 6.0 çekirdeği, AMD Zen işlemcilere dayalı sistemlerdeki performans sorunlarını ele alan bir değişikliği benimsedi. Performans düşüşünün kaynağının, 20 yıl önce bazı yonga setlerindeki bir donanım sorununu çözmek için eklenen kod olduğu ortaya çıktı. Donanım sorunu uzun süredir düzeltildi ve mevcut yonga setlerinde görünmüyor, ancak eski geçici çözüm unutuldu ve modern AMD CPU'lara dayalı sistemlerde performans düşüşü kaynağı haline geldi. Intel CPU'lu yeni sistemler, ACPI'ye ortak bir process_idle sürücüsü yerine ayrı bir intel_idle sürücüsü kullanarak eriştiklerinden eski geçici çözümden etkilenmezler.

Mart 2002'de çekirdeğe, STPCLK# sinyal işleme gecikmesi nedeniyle boşta kalma durumunun düzgün şekilde ayarlanamamasıyla ilgili yonga setlerinde bir hatanın ortaya çıkmasını engellemek için bir geçici çözüm eklendi. ACPI uygulamasındaki sorunu çözmek için, işlemciyi yavaşlatan ek bir WAIT komutu eklendi, böylece yonga setinin boşta kalma durumuna girmesi için zaman kaldı. AMD Zen3 işlemcilerde IBS (Talimat Tabanlı Örnekleme) talimatlarını kullanarak profil oluştururken, işlemcinin bir saplamayı yürütmek için önemli miktarda zaman harcadığı ve bunun da işlemci üzerindeki yük durumunun yanlış yorumlanmasına ve daha derin uyku modlarının ayarlanmasına yol açtığı ortaya çıktı. (C-State) işleyici cpuidle tarafından.

Bu davranış, genellikle boşta kalma ve meşgul durumları arasında değişen iş yükleri altında performans düşüşüne yansır. Örneğin, baypas manevrasını devre dışı bırakan bir yama kullanıldığında, ortalama tbench testi puanları 32191 MB/sn'den 33805 MB/sn'ye çıkıyor.

Kaynak: opennet.ru

Yorum ekle