Kembali pada tahun 2020, para insinyur Intel yang bekerja pada kernel Linux menambahkan deteksi kunci terpisah untuk memberikan peringatan ketika operasi atom mencakup beberapa baris cache dan memerlukan kunci bus global untuk atomitas. Sebuah peringatan sekarang dianggap tidak cukup berguna, jadi sebaliknya niatnya adalah untuk "membuat hidup sengsara" untuk aplikasi ruang pengguna yang berperilaku tidak semestinya dengan memperlambat kinerja dengan harapan pengembang aplikasi menangani kode mereka dengan lebih baik.
Meskipun perilaku default adalah memberikan peringatan untuk aplikasi ruang pengguna yang menyalahgunakan kunci terpisah, tambalan sebelumnya memungkinkan mematikan aplikasi. Kunci split dapat mengambil setidaknya 1.000 siklus lebih banyak daripada operasi atom dalam satu baris cache. Kunci split mengakibatkan CPU lain diblokir dan agen bus lain untuk kontrol juga diblokir -- mempengaruhi kinerja sistem secara keseluruhan.
Deteksi kunci split Linux ini mengandalkan fitur CPU x86_64 modern untuk dapat menghasilkan pengecualian pemeriksaan penyelarasan saat menekan kunci split. Perilaku kernel yang ada dapat disetel menggunakan parameter kernel "split_lock_detect=".
Insinyur Intel Tony Luck mengusulkan untuk membuat segalanya lebih agresif dan "membuat hidup sengsara untuk loker split" dengan tambalan yang diposting awal tahun ini. Tambalan yang sekarang antri untuk Linux 5.19 mencoba memperlambat aplikasi yang melanggar sedemikian rupa sehingga pengembang diharapkan dapat mengatasi masalah tersebut. Mode "berurutan" yang baru memaksa akses berurutan untuk kunci pemisah ruang pengguna. Pada gilirannya mode ini juga memastikan kinerja sistem secara keseluruhan lebih baik dalam kondisi ini.
Karenanya opsi baru untuk "memperlambatnya dengan cara yang membuatnya menjengkelkan".
Alasan utama untuk perubahan ini adalah untuk memberikan kualitas layanan yang lebih baik ke seluruh aplikasi yang berjalan di sistem. Pengujian internal menunjukkan bahwa bahkan dengan banyak proses yang membelah kunci, kinerja sistem lainnya jauh lebih responsif.
Tambahkan pilihan baru ke parameter boot "split_lock_detect" yang ada "berurutan". Dalam mode ini, deteksi kunci terpisah diaktifkan. Saat aplikasi mencoba mengeksekusi kunci bus, pengendali #AC.
1) Blok (terputus) sampai bisa mendapatkan semaphore
Jika terganggu, kembalikan saja. Asumsikan sinyal akan mematikan tugas, atau mengeksekusi langsung dari instruksi yang mencoba mendapatkan kunci bus.
2) Menonaktifkan deteksi kunci terpisah untuk inti saat ini
3) Menjadwalkan antrean kerja untuk mengaktifkan kembali deteksi kunci terbagi dalam 2 sekejap
4) Pengembalian Perubahan "membuat hidup sengsara" dikirimkan sebagai pembaruan kunci-terpisah x86 untuk Linux 5.19.
Itulah berita seputar Linux 5.19 Untuk "Membuat Hidup Menyedihkan" Dalam Memperlambat Aplikasi Split-Lock Berperilaku Buruk, semoga bermanfaat. Disadur dari Phoronix.com.