Seri patch kernel Linux yang penting telah diperbarui untuk tahun baru yang dalam pengujian sintetik telah menghasilkan peningkatan throughput ~12x pada sistem AMD Ryzen Threadripper.
Uladzislau Rezki dengan Sony telah bekerja selama berbulan-bulan untuk menghilangkan pertentangan penguncian dalam kode vmap/vmalloc kernel Linux. Pertentangan penguncian yang disebabkan oleh spinlock tunggal yang melindungi ruang vmap global menyebabkan masalah serius pada sistem jumlah inti yang semakin tinggi saat ini.
Seri patch yang sekarang hingga iterasi ketiganya bertujuan untuk membuatnya lebih terukur:
“Kami memperkenalkan logika node vmap yang efektif. Sebuah node berperilaku sebagai entitas independen untuk melayani permintaan alokasi secara langsung (jika memungkinkan) dari kumpulannya. Dengan cara itu, node tersebut melewati ruang vmap global yang dilindungi oleh kuncinya sendiri.
Akses ke kumpulan diserialkan oleh CPU. Jumlah node sama dengan jumlah CPU dalam suatu sistem. Harap dicatat bahwa ambang batas tinggi dibatasi pada 128 node.
Kolam renang dipisahkan ukurannya dan diisi berdasarkan permintaan sistem. Permintaan alokasi maksimum yang dapat disimpan ke dalam penyimpanan terpisah adalah 256 halaman. Jalur pengurasan lambat meluruhkan kumpulan sebesar 25% pada langkah pertama dan pada langkah kedua mengisinya dengan VA baru yang dibebaskan untuk digunakan kembali alih-alih mengembalikannya ke ruang global.” Dalam pengujian sintetik yang menekankan jalur vmalloc, teknisi Sony menemukan throughput menjadi sekitar ~12x lebih tinggi pada sistem pengujian AMD Ryzen Threadripper 3970X.
Patch v3 untuk menangani perselisihan penguncian vmap/vmalloc ini telah keluar untuk ditinjau di milis kernel Linux. Mudah-mudahan ini hanyalah puncak gunung es yang kita lihat untuk optimalisasi kinerja Linux pada tahun 2024.
Itulah berita seputar Patch Diperbarui Untuk Mengatasi Pertentangan Kunci vmap/vmalloc yang Dapat Menghasilkan ~12x Throughput, semoga bermanfaat. Disadur dari Phoronix.com.