Linux 6.1 Membersihkan Lebih Banyak Kode Untuk PREEMPT_RT

  • Post author:
  • Post category:Linux

Upaya pengarusutamaan “RT” real-time untuk kernel Linux tetap berlangsung. Sementara garis finish semakin dekat, dukungan PREEMPT_RT untuk jalur utama masih belum melewati rintangan terakhir — tampaknya penghalang utama yang masih tertahan adalah perubahan printk dengan pencetakan konsol berulir. Tetapi untuk jendela penggabungan Linux 6.1 setidaknya ada lebih banyak pembersihan kode kernel.
Thomas Gleixner dari Linutronix, yang dimiliki oleh Intel sejak awal tahun ini, pagi ini mengirimkan satu set patch sched/rt untuk Linux 6.1. Untuk siklus ini ada lebih banyak pembersihan kode PREEMPT_RT:
Perkenalkan preempt_[dis|enable_nested() dan gunakan untuk membersihkan berbagai tempat yang memiliki persyaratan PREEMPT_RT berkode terbuka.
Pada kernel yang diaktifkan PREEMPT_RT, spinlock dan rwlock tidak menonaktifkan preemption maupun interupsi. Meskipun ada beberapa tempat yang bergantung pada penonaktifan preemption/interupsi implisit dari kunci tersebut, mis. bagian tulis seqcount, per pembaruan statistik CPU, dll.
PREEMPT_RT menambahkan kondisional CONFIG_PREEMPT_RT kode terbuka untuk menonaktifkan/mengaktifkan preemption di bagian kode terkait di semua tempat. Itu sulit dibaca dan tidak benar-benar menjelaskan mengapa ini perlu.
Linus menyarankan untuk menggunakan fungsi pembantu (preempt_disable_nested() dan preempt_enable_nested()) dan menggunakannya di tempat yang terpengaruh. Pada kernel yang diaktifkan !RT, fungsi-fungsi ini adalah NOP, tetapi berisi pernyataan lockdep untuk memvalidasi bahwa preemption sebenarnya dinonaktifkan untuk menangkap situs panggilan yang tidak menonaktifkan preemption.
Bersihkan jalur kode yang terpengaruh dalam mm, dentry, dan lib. Lihat permintaan tarik ini untuk daftar lengkap patch RT untuk Linux 6.1. Mungkin pada 6.2 sisa seri patch RT akan siap untuk mainlining? Itu pasti akan menjadi cara yang bagus untuk menelepon pada tahun 2023.

Itulah berita seputar Linux 6.1 Membersihkan Lebih Banyak Kode Untuk PREEMPT_RT, semoga bermanfaat. Disadur dari Phoronix.com.