Titik akhir dukungan preemption waktu nyata Linux
- Pekerjaan untuk menambahkan dukungan waktu nyata ke Linux dimulai sejak 2004, dan kini telah memasuki tahap akhir.
- Tujuan preemption waktu nyata adalah agar proses dengan prioritas tertinggi dapat berjalan dengan latensi seminimal mungkin; untuk itu, kernel dibuat dapat dipreempt dalam sebanyak mungkin situasi.
- Pekerjaan ini berujung pada penulisan ulang bagian inti kernel, sekaligus memberi manfaat yang melampaui penggunaan waktu nyata.
Penyelesaian masalah printk()
- Fungsi
printk() yang digunakan di kernel untuk mengirim pesan ke konsol sistem dan log bekerja secara sinkron, sehingga tidak akan kembali sebelum pesan dikirim ke semua tujuan yang dikonfigurasi.
- Para pengembang waktu nyata memindahkan keluaran
printk() ke thread terpisah agar menjadi asinkron, tetapi itu hanyalah solusi sementara.
- Masalah
printk() yang dikerjakan secara serius sejak 2018 sedang menuju penyelesaian lewat sekitar 300 patch, meski masih ada beberapa masalah rumit yang perlu dibereskan.
Prospek integrasi kode preemption waktu nyata ke mainline
- Disampaikan harapan bahwa sisa kode preemption waktu nyata akan digabungkan ke mainline sebelum mencapai ulang tahun ke-20 pada akhir 2024.
- Tidak ada perubahan terbaru pada kode
printk(), tetapi kode handover telah diubah agar driver konsol dapat diperbarui satu per satu.
- Kode juga diubah agar pesan penting sepenuhnya disalin ke buffer pesan sebelum baris pertama dicetak, dan untuk mencegah sistem jatuh akibat driver konsol yang bermasalah, pesan lebih dulu dicatat ke konsol yang aman.
Pendapat GN⁺
- Pekerjaan menambahkan dukungan preemption waktu nyata ke kernel Linux hampir selesai, dan ini akan memberi manfaat besar bagi sistem yang memerlukan operasi waktu nyata.
- Asinkronisasi fungsi
printk() meningkatkan responsivitas sistem dan memainkan peran penting dalam mencapai tujuan preemption waktu nyata.
- Artikel ini menunjukkan kemajuan penting dalam pengembangan kernel Linux dan menawarkan bacaan menarik bagi mereka yang tertarik pada pengembangan kernel.
1 komentar
Komentar Hacker News
Keunggulan mikrokernel QNX
Masalah pemrosesan real-time di Linux
Fitur logging kernel dan contoh penggunaan nyata
Kemungkinan penggantian kombinasi hardware/software real-time
Perbedaan aplikasi real-time "hard" dan "soft"
Pemrosesan real-time di kernel Linux dan keterbatasan hardware
Masalah logging sinkron
Cara menjamin responsivitas proses tertentu
Fitur preemption real-time Linux dan pengalaman masa lalu
Dampaknya bagi pengguna umum