Permintaan penarikan CPU x86 siap untuk kernel Linux 6.8 dan selain menambahkan fitur AMD Zen baru yang dengan mudah mengisolasi generasi CPU yang berbeda, ada juga optimasi CPU AMD untuk menghindari penghalang MFENCE+LFENCE yang tidak diperlukan.
Kernel Linux x86/x86_64 telah menerapkan penghalang sinkronisasi MFENCE dan LFENCE ketika mengakses MSR tertentu, karena itulah perilaku yang diperlukan pada CPU Intel dan ditambahkan ke kernel Linux oleh para insinyur Intel. Namun penghalang MFENCE+LFENCE tidak diperlukan dalam kasus prosesor AMD sehingga pengoptimalan untuk Linux 6.8 ini menghilangkan perilaku tersebut saat dijalankan pada prosesor AMD. Secara khusus, penghalang MFENCE+LFENCE tidak diperlukan untuk Timestamp Calibration (TSC) dan register spesifik model x2APIC (MSR) pada prosesor AMD.
Saya menulis tentang optimasi kinerja ini ketika pertama kali dikerjakan untuk kernel Linux. Sekarang akan hadir di Linux 6.8.
Menggunakan benchmark IPI yang dimodifikasi, AMD mengevaluasi dampak kinerja dengan melewati hambatan sinkronisasi ini:
“Membandingkan kinerja x2AVIC dengan dan tanpa perbaikan, terlihat peningkatan kinerja sebesar ~4%.
Performa yang ditangkap menggunakan ipi-bench yang tidak dimodifikasi menggunakan opsi `mesh-ipi` dengan dan tanpaweak_wrmsr_fence() pada sistem Zen4 juga menunjukkan peningkatan performa yang signifikan tanpaweak_wrmsr_fence(). Opsi `mesh-ipi` mengabaikan CCX atau CCD dan hanya memilih vCPU acak.
Throughput rata-rata (10 iterasi) denganweak_wrmsr_fence(),
Throughput kumulatif: 4933374 IPI/dtk
Throughput rata-rata (10 iterasi) tanpaweak_wrmsr_fence(),
Throughput kumulatif: 6355156 IPI/s”Perubahan untuk tidak membuat serialisasi akses MSR pada prosesor AMD dapat ditemukan pada penarikan x86/cpu untuk Linux 6.8, meskipun sayang sekali perilaku ini tidak dilindungi dengan benar karena khusus untuk Intel pada awalnya. .
Itulah berita seputar Linux 6.8 Mengambil Optimasi CPU AMD Untuk Menghindari Serialisasi Akses MSR yang Tidak Perlu, semoga bermanfaat. Disadur dari Phoronix.com.