Pagi ini saya menarik perhatian untuk pekerjaan yang sedang berjalan mengenai solusi chipset berusia 20 tahun di kernel Linux telah merusak sistem AMD modern masih keliru menerapkan perubahan ke perangkat keras modern. Untungnya, patch ini sekarang telah diambil oleh Linus Torvalds pada waktunya untuk Linux 6.0 kernel diharapkan untuk debut stabilnya akhir pekan depan.
Seperti disebutkan di artikel sebelumnya, sejak 2002 ketika dukungan ACPI ditambahkan ke kernel, operasi “dummy wait” ditambahkan karena beberapa chipset pada saat STPCLK# tidak ditegaskan tepat waktu di sepanjang jalur idle di kernel. Pembacaan I/O dummy menunda pemrosesan instruksi lebih lanjut sampai CPU benar-benar berhenti. Tetapi seorang insinyur AMD baru-baru ini memperhatikan bahwa perilaku ini diterapkan pada perangkat keras AMD Zen 3 modern dan menemukan bahwa hal itu dapat menyebabkan masalah kinerja untuk beban kerja yang dengan cepat beralih antara fase sibuk dan tidak aktif, terutama untuk sistem ke jumlah inti yang lebih tinggi seperti platform Ryzen Threadripper dan EPYC.
Pengambilan sampel beberapa beban kerja dengan IBS pada sistem AMD Zen3 menunjukkan bahwa sejumlah besar waktu dihabiskan dalam operasi tiruan, yang salah dihitung sebagai tempat tinggal C-State. Nilai residensi C-State yang besar dapat membuat gubernur cpuidle untuk merekomendasikan C-State yang lebih dalam selama instans idle berikutnya, memicu lingkaran setan, yang menyebabkan penurunan kinerja pada beban kerja yang dengan cepat beralih antara fase sibuk dan idle.Salah satu beban kerja tersebut adalah tbench, di mana penurunan kinerja besar-besaran dapat terlihat selama beberapa proses.
Insinyur AMD K Prateek Nayak menunjukkan dampak kinerja yang signifikan yang dapat ditimbulkan oleh solusi yang salah untuk perangkat keras modern ini pada sistem AMD. Sistem Intel, di sisi lain, tidak menggunakan jalur kode ini untuk perangkat keras modern dan karenanya tidak terpengaruh.
Perbaikan AMD awalnya disarankan, tetapi kemudian dibersihkan/disederhanakan oleh insinyur Intel Dave Hansen. Tambalan ini sama sekali tidak menerapkan solusi “menunggu tiruan” ini kecuali untuk sistem Intel yang lebih lama (pra-Nehalem) sehingga sistem AMD sekarang akan mengabaikan operasi ini yang dapat menurunkan kinerja pada sistem modern . Dengan dampak terutama pada beban kerja yang sering bertransisi antara status sibuk dan tidak aktif dan lebih terlihat untuk sistem jumlah inti yang lebih tinggi, kinerja server AMD EPYC dengan patch ini seharusnya cukup bagus, terutama untuk beban kerja server web/database dan jenis tes cepat lainnya. Saya akan meluncurkan satu set lengkap tolok ukur profil tinggi yang mengevaluasi tambalan ini besok.
Patch tersebut ditayangkan malam ini sebagai bagian dari patch “x86/urgent” yang dikirim sebagai bagian dari tarikan ini sebelum Versi stabil Linux 6.0 diharapkan pada 2 Oktober. Senang melihatnya mendarat dengan cepat dan menantikan beberapa tolok ukur.
“Ninja internet yang tak tersembuhkan. Ahli daging. Sangat introvert. Analis. Pakar musik. Pendukung zombie.”