Linux 5.10 hadir dengan pengoptimuman Ext4 yang ketara, keserasian AMD SEV yang ditingkatkan, dan banyak lagi

Kernel

Selepas dua bulan pembangunan, Linus Torvalds melancarkan peluncuran kernel Linux versi 5.10 yang baru, versi yang tiba dengan status cawangan dengan tempoh sokongan yang panjang, yang kemas kini akan diterbitkan sekurang-kurangnya dua tahun.

Perubahan yang ketara termasuk versi baru ini merangkumi keserasian dengan mekanisme perlindungan MemTag untuk sistem ARM64, pilihan pemasangan "nosymfollow", pengoptimuman Ext4 yang ketara, Pembaikan XFS 2038, panggilan sistem process_madvise baru, peningkatan sokongan AMD SEV melalui enkripsi daftar CPU, kemampuan menjeda program BPF.

Versi baru menerima 17470 pembaikan dari 2062 pemaju, Saiz patch: 64MB (perubahan mempengaruhi 15101 fail, tambah 891932 baris kod, dikeluarkan 619716 baris). Lebih kurang 42% dari keseluruhannya perubahan yang diperkenalkan pada 5.10 berkaitan dengan pemacu peranti, kira-kira 16% perubahan berkaitan dengan mengemas kini kod khusus untuk arkitek perkakasan, 13% berkaitan dengan susunan rangkaian, 3% berkaitan dengan sistem fail dan 3% berkaitan subsistem kernel dalaman.

Berita utama di Linux 5.10

Perubahan utama yang berlaku, kita dapati bahawa untuk ext4 mod pengesahan pantas telah ditambahkan (fast_commit), yang mengurangkan kelewatan dalam banyak operasi fail kerana pemadanan metadata ke cakera yang lebih pantas semasa menjalankan panggilan fsync (). Dalam keadaan biasa, menjalankan fsync () menyegerakkan set metadata yang berlebihan. Dalam mod fast_commit, hanya metadata yang diperlukan untuk memulihkan sistem fail sekiranya berlaku kerosakan yang dipindahkan ke registri, mempercepat panggilan ke fsync () dan meningkatkan prestasi operasi yang secara aktif memanipulasi metadata.

Semasa berhenti Btrfs merangkumi pengoptimuman prestasi penting yang berkaitan dengan operasi fsync (). Pengurangan pertikaian log mutex menghasilkan peningkatan prestasi 4% dan penurunan latensi 14% ketika menjalankan penanda aras dbench dengan 32 klien. Menghilangkan komitmen tambahan untuk pautan dan perubahan nama meningkatkan lebar jalur sebanyak 6% dan mengurangkan latensi sebanyak 30%. Mengehadkan fsync untuk menunggu hanya pada penulisan semula peningkatan prestasi sebanyak 10-40%.
Selain itu, Pelaksanaan Btrfs I / O langsung (io langsung) telah dipindahkan ke kerangka iomap. 

XFS menambah perubahan metadata inode untuk mengatasi masalah limpahan jenis data 32-bit time_t pada tahun 2038. Perubahan serupa, yang memindahkan limpahan pemasa ke tahun 2468, ditambahkan pada kod untuk mengira masa kuota cakera. Format XFS V4 sudah tidak digunakan lagi, pengguna disarankan untuk mengemas kini format FS ke V5, tetapi ada lebih dari cukup waktu untuk kemas kini kerana sokongan V4 akan kekal hingga 2030. XFS juga telah mengubah ukuran input inode btree, membolehkan lebih banyak pemeriksaan lebihan dan masa pemasangan lebih cepat.

Untuk subsistem FUSE yang dilaksanakan sokongan operasi DAX untuk mengakses sistem fail secara langsung, melewati cache halaman tanpa peranti penguncian peringkat aplikasi yang digunakan untuk mengelakkan cache berganda organisasi dengan akses bersama ke sistem tetamu , direktori dan fail. Virtiofs juga menambah sokongan untuk pemasangan partisi yang terpisah dengan titik pemasangan yang berbeza pada sistem host.

Sistem fail F2FS menambah mod pengumpulan sampah baru ATGC (Age Threshold Garbage Collection), peningkatan sokongan untuk peranti NVMe yang dizonkan, dan penyahmampatan data yang dimampatkan lebih cepat.

Dalam F2FS dan Ext4, cara bekerja dengan nama fail telah dirancang semula tanpa mengambil kira huruf besar; telah diputuskan untuk menyatukan pelaksanaan nama fail yang tidak peka huruf besar dengan memindahkan kod yang berkaitan ke perpustakaan umum.

Perubahan penting lain adalah dalam antara muka I / O tak segerak yang menambahkan keupayaan untuk membuat cincin terhad yang dapat dikongsi dengan selamat dengan proses yang tidak dipercayai. Ciri ini membolehkan aplikasi asas membatasi akses secara selektif hanya kepada penerangannya fail individu untuk digunakan dalam aplikasi pihak ketiga melalui io_uring, ditambah bendera PIDFD_NONBLOCK telah ditambahkan ke panggilan sistem pidfd_open () untuk membuat deskriptor fail tanpa kunci (serupa dengan O_NONBLOCK untuk pidfd).


Tambahkan sebagai sumber pilihan dalam Google