Fitur baru dengan Intel 4th Gen Xeon Scalable "Sapphire Rapids" yang belum terlalu banyak dibicarakan adalah fungsionalitas User Interrupts (UNITR) yang baru. Dukungan kernel Linux untuk itu masih belum digabungkan tetapi telah menunjukkan hasil yang menjanjikan dalam bentuk tambalan.
Intel sebelumnya -- sejak tahun 2020 -- mendokumentasikan Interupsi Pengguna dalam manual referensi pemrograman ISA mereka. Pada akhir 2021 Intel mulai memposting tambalan kernel Linux untuk Interupsi Pengguna.
Deskripsi Kconfig X86_USER_INTERRUPTS pada fitur CPU baru ini menjadi:
Interupsi Pengguna adalah peristiwa yang dapat dikirimkan langsung ke ruang pengguna tanpa transisi melalui kernel. Interupsi dapat dihasilkan oleh aplikasi ruang pengguna lain, kernel atau perangkat. Dan dari seri tambalan RFC asli tentang penerapan Interupsi Pengguna:
Saat ini, hampir semua komunikasi melintasi batas hak istimewa terjadi melalui kernel. Ini termasuk sinyal, pipa, panggilan prosedur jarak jauh dan pemberitahuan berbasis interupsi perangkat keras. Interupsi pengguna menyediakan dasar untuk versi yang lebih efisien (latensi rendah dan pemanfaatan CPU rendah) dari operasi umum ini dengan menghindari transisi melalui kernel.
Dalam arsitektur perangkat keras User Interrupts, penerima selalu diharapkan menjadi tugas ruang pengguna. Namun, interupsi pengguna dapat dikirim oleh tugas ruang pengguna lain, kernel atau sumber eksternal (seperti perangkat). Hasil kinerja dengan kernel Intel yang ditambal untuk Interupsi Pengguna sangat menjanjikan. Angka kinerja awal di Sapphire Rapids menunjukkan peningkatan kinerja ~9x atau lebih tinggi dengan menggunakan Interupsi Pengguna dibandingkan mekanisme IPC lainnya untuk pensinyalan peristiwa. Interupsi Pengguna terlihat bagus untuk IPC yang lebih cepat, tetapi selama tahun 2022 Intel tidak melihat lebih banyak bentuk pada fitur Sapphire Rapids yang baru ini.
Pada saat penulisan, dukungan Interupsi Pengguna untuk kernel Linux belum digabungkan tetapi Intel masih mengerjakan kode kernel. Mereka telah mengantri pekerjaan mereka melalui intel/uintr-linux-kernel di GitHub. Tambalan uintr-next terbaru diperbarui pada pertengahan Oktober. Tambalan memperkenalkan panggilan sistem uintr_wait() baru, menambahkan dukungan UINTR ke IO_uring, dan infrastruktur lain seputar dukungan pensinyalan kejadian pengguna ini.
Mudah-mudahan kita akan melihat dukungan Interupsi Pengguna untuk Sapphire Rapids ini mencapai kernel Linux arus utama tahun ini sebagai fitur yang sayangnya tidak digabungkan tepat waktu untuk hari peluncuran dan sejauh ini belum mendengar latar belakang atau informasi lebih lanjut tentang penundaannya.
Itulah berita seputar Dukungan Linux Untuk Interupsi Pengguna Sapphire Rapids Masih Menunggu Arus Utama, semoga bermanfaat. Disadur dari Phoronix.com.