Meskipun optimasi khusus mikroarsitektur cukup umum terjadi dalam kernel Linux x86_64 untuk berbagai keluarga CPU Intel dan AMD dengan berbagai trik kinerja, pengelola kernel Linux ARM64 menentang pengenalan optimasi khusus mikroarsitektur baru karena hal itu memengaruhi prosesor ARM baru.
Ampere Computing mengirimkan satu set 4 patch yang memberikan optimasi untuk prosesor server AmpereOne baru mereka. Ampere Computing menemukan bahwa prosesor server ARM dengan jumlah inti tinggi yang baru ini dapat memperoleh manfaat dari pengambilan awal yang agresif saat menggunakan ukuran halaman 4K. Manfaat yang dilaporkan dengan HugeTLB atau Tmpfs selama pengujian kinerja baca berurutan adalah "hingga 1,3 ~ 1,4x."
"Hasil tes:
Dalam hugetlb atau tmpfs, kita bisa mendapatkan peningkatan kinerja baca berurutan yang besar hingga 1,3x ~ 1,4x." Meskipun peningkatan tersebut menarik untuk meningkatkan kinerja AmpereOne Linux, sepertinya pekerjaan tersebut tidak akan di-upstream ke Linux arus utama inti.
Pengembang kernel ARM Linux terkemuka Will Deacon mengomentari patch peningkatan kinerja khusus untuk CPU AmpereOne:
“Kami cenderung menghindari optimasi spesifik mikro-arsitektur di kernel arm64 karena mereka tidak dapat dipelihara, sulit untuk diuji dengan benar, umumnya menyebabkan pembengkakan dan menambah hambatan tambahan untuk memperbarui rutinitas perpustakaan kami.
Memang benar, kami memiliki sesuatu untuk Thunder-X1 di copy_page() (menyamar sebagai ARM64_HAS_NO_HW_PREFETCH) tetapi, sejujurnya, mesin tersebut memerlukan semua bantuan yang dapat diperolehnya dan mengingat posisinya saat ini, saya curiga kami dapat menghapus kode tersebut tanpa konsekuensi material apa pun.
Jadi saya lebih memilih untuk tidak menggabungkan ini; CPU modern seharusnya lebih baik dalam menyalin data. Itu copy_to_user(), bukan ilmu roket." Mark Rutland dari ARM menyetujui pernyataan Deacon dan juga mendukung penghapusan optimasi bertarget Thunder-X1. Pengembang kernel Marc Zyngier juga setuju dan telah bekerja pada patch untuk menghapus kode khusus Thunder-X1 tersebut.
Jadi demi kepentingan pemeliharaan kode dan menghindari kerumitan yang berlebihan pada kode kernel Linux ARM64, mereka tidak melakukan optimasi khusus CPU/mikro-arsitektur. Kita akan melihat apakah hal ini mengarah pada distribusi yang berfokus pada ARM Linux yang membawa patch tersebut sendiri atau distribusi Linux yang dioptimalkan AmpereOne di masa mendatang, terutama mengingat fokus Ampere pada kinerja tinggi dan efisiensi daya server ARM Linux dan kemungkinan besar tidak ingin meninggalkan pengoptimalan apa pun. tidak tersentuh terutama dengan tujuan bersaing dengan server AMD EPYC dan Intel Xeon.
Itulah berita seputar Kernel Linux ARM 64-bit Terhadap Optimasi Khusus CPU: "Sangat Tidak Dapat Dipelihara", semoga bermanfaat. Disadur dari Phoronix.com.Artikel Diperbarui pada: November 22, 2023
Kontributor: Syauqi Wiryahasana
Model: Haifa Manik Intani