Patch terlupa ditemui dalam kernel Linux yang menjejaskan prestasi CPU AMD

Kernel Linux 6.0, dijangka dikeluarkan Isnin depan, termasuk perubahan yang menangani isu prestasi dengan sistem yang dijalankan pada pemproses AMD Zen. Sumber penurunan prestasi didapati kod ditambah 20 tahun lalu untuk mengatasi masalah perkakasan dalam beberapa set cip. Masalah perkakasan telah lama dibetulkan dan tidak muncul dalam chipset semasa, tetapi penyelesaian lama untuk masalah itu telah dilupakan dan telah menjadi sumber kemerosotan prestasi pada sistem berdasarkan CPU AMD moden. Sistem baharu pada CPU Intel tidak terjejas oleh penyelesaian lama, kerana mereka mengakses ACPI menggunakan pemacu intel_idle yang berasingan, dan bukan pemacu processor_idle umum.

Penyelesaian telah ditambahkan pada kernel pada Mac 2002 untuk menyekat kemunculan pepijat dalam set cip yang dikaitkan dengan tidak menetapkan keadaan terbiar dengan betul disebabkan kelewatan dalam memproses isyarat STPCLK#. Untuk mengatasi masalah tersebut, pelaksanaan ACPI menambahkan arahan TUNGGU tambahan, yang memperlahankan pemproses supaya set cip mempunyai masa untuk pergi ke keadaan terbiar. Apabila membuat profil menggunakan arahan IBS (Pensampelan Berasaskan Arahan) pada pemproses AMD Zen3, didapati bahawa pemproses menghabiskan banyak masa untuk melaksanakan stub, yang membawa kepada tafsiran yang salah tentang keadaan beban pemproses dan menetapkan mod tidur yang lebih dalam (C- Negeri) oleh cpuidle pemproses.

Tingkah laku ini dicerminkan dalam prestasi yang berkurangan di bawah beban kerja yang kerap silih berganti antara keadaan terbiar dan sibuk. Contohnya, apabila menggunakan tampalan yang melumpuhkan manuver pintasan, purata ujian tbench meningkat daripada 32191 MB/s kepada 33805 MB/s.

Sumber: opennet.ru

Tambah komen