Digabung tahun lalu untuk Linux Siklus 5.16 adalah panggilan sistem futex_waitv() FUTEX2 untuk menunggu di beberapa futex agar lebih sesuai dengan perilaku Microsoft Windows. Inisiatif FUTEX2 ini didorong sebagai upaya untuk lebih meningkatkan kinerja/efisiensi gaming Linux khususnya untuk Steam Play milik Valve. Awalnya ada tujuan lain dengan FUTEX2 dan sekarang kami melihat salah satu dari mereka sedang dikerjakan: kesadaran NUMA.

Untuk mendapatkan arus utama lebih cepat, FUTEX2 melakukan dorongan awal yang sederhana dengan futex_waitv dan menjatuhkan beberapa tambahan seperti kesadaran NUMA dan futex berukuran variabel dari rencana penggabungan awal. Tetapi dalam beberapa bulan sejak futex_waitv() digabungkan dan beberapa siklus kernel sejak itu, tidak ada terburu-buru untuk menyelesaikan fitur FUTEX2 yang tersisa.

Pada bulan Juli André Almeida dari Igalia mulai melihat penanganan kesadaran NUMA untuk FUTEX2 dan kemudian minggu ini dipresentasikan di Konferensi Tukang Pipa Linux. Kesadaran NUMA ini adalah untuk mengatasi cacat FUTEX saat ini bahwa semua tabel hash memori ruang kernel berada dalam satu node memori dan mengarah ke latensi ekstra untuk setiap operasi FUTEX yang terjadi di luar node di mana terdapat tabel hash.

Penambahan yang diusulkan mampu menambahkan petunjuk NUMA jika harus berada di node saat ini jika tidak dapat menentukan node tertentu.

Mereka yang ingin mempelajari lebih lanjut tentang upaya kesadaran NUMA untuk FUTEX2 dapat melihat slide deck dari LPC 2022 dan/atau LKML dari Juli menguraikan antarmuka yang diusulkan yang sama.

Categories: IT Info