Solusi chipset berusia 20 tahun telah merusak sistem AMD Linux modern

Solusi chipset berusia 20 tahun telah merusak sistem AMD Linux modern

Insinyur AMD K Prateek Nayak baru-baru ini mengungkapkan bahwa solusi chipset berusia sekitar 20 tahun di kernel Linux, yang masih diterapkan pada sistem AMD modern, bertanggung jawab atas pencapaian kinerja pada perangkat keras Zen modern dalam beberapa kasus. Untungnya, perbaikan sedang dilakukan untuk membatasi solusi ini pada sistem lama dan pada gilirannya meningkatkan kinerja sistem modern.

Minggu lalu adalah sebuah plaster dirilis untuk kode idle prosesor ACPI untuk menghindari solusi untuk chipset lama pada sistem AMD Zen modern. Sejak penambahan dukungan ACPI ke kernel Linux pada tahun 2002, telah terjadi “dummy wait op” untuk menangani beberapa chipset di mana STPCLK# tidak ditegaskan pada waktu yang tepat. Pembacaan I/O dummy menunda pemrosesan instruksi lebih lanjut sampai CPU benar-benar berhenti. Ini adalah masalah pada setidaknya beberapa sistem era AMD Athlon dengan chipset VIA… Tapi tidak masalah pada chipset yang lebih baru dalam dua dekade terakhir.


Solusi kernel Linux dari dua dekade terakhir, yang ditujukan untuk chipset yang sekarang sudah usang, masih tidak perlu diterapkan pada sistem AMD modern, yang pada gilirannya dapat memengaruhi kinerja pada beban kerja tertentu.

Karena solusi ini masih diterapkan bahkan pada sistem AMD modern, K Prateek Nayak menemukan:

Pengambilan sampel beban kerja spesifik dengan IBS pada sistem AMD Zen3 menunjukkan bahwa sejumlah besar waktu dihabiskan dalam operasi dummy, yang salah dihitung sebagai penduduk C-state. Nilai residensi C-state yang tinggi dapat menyebabkan gubernur idle CPU untuk merekomendasikan C-state yang lebih rendah selama instans idle berikutnya, memicu lingkaran setan dan mengakibatkan penurunan kinerja untuk beban kerja yang dengan cepat bertransisi antara periode sibuk dan idle.

Salah satu beban kerja tersebut adalah tbench, di mana penurunan besar dalam kinerja diamati pada proses tertentu.

Setidaknya untuk Tbench, solusi jangka panjang tanpa syarat di kernel Linux ini telah merusak kinerja AMD Ryzen/Threadripper/EPYC dalam beban kerja tertentu:

READ  Elden Ring Colosseum DLC nyata, gratis dan akan dirilis besok

Solusi ini tidak memengaruhi sistem Intel modern karena platform Intel yang lebih baru ini menggunakan jalur kode driver intel_idle berbasis MWAIT sebagai gantinya.

Patch AMD berevolusi menjadi tambalan ini oleh insinyur Intel Linux Dave Hansen. Patch ini untuk membatasi solusi “Dummy Wait” untuk sistem lama sudah disertakan dalam cabang x86/urgent TIP. Karena ini menggunakan rute x86/urgent dan memperbaiki solusi yang terlalu bersemangat yang tidak diperlukan pada perangkat keras modern, kemungkinan patch ini akan dikirimkan untuk kernel Linux 6.0 akhir minggu ini daripada menunggu sampai dibutuhkan (v6.1) menggabungkan jendela.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *