Rilis kernel Linux 7.1

Setelah dua bulan pengembangan, Linus Torvalds merilis kernel tersebut. Linux 7.1. Di antara perubahan yang paling penting: driver ntfsplus baru, tahap pertama penghentian dukungan CPU i486, penghapusan adaptor Ethernet lama, penghapusan protokol ISDN dan AX.25, pengaktifan mekanisme Intel FRED secara default, dukungan untuk handler BPF di io_uring, optimasi subsistem swap, dukungan untuk subscheduler di sched_ext, I/O zero-copy di driver ublk, operasi ioctl "shutdown" di Btrfs, peralihan mode performa dinamis di driver amd-pstate, dukungan xattr untuk soket Unix.

Versi baru mencakup 17275 perbaikan dari 2589 pengembang,
Ukuran patch adalah 57 MB (perubahan memengaruhi 13528 file, menambahkan 751785 baris kode, dan menghapus 405916 baris). Rilis sebelumnya berisi 15624 perbaikan dari 2477 pengembang, dan ukuran patch adalah 56 MB. Sekitar 41% dari semua perubahan dalam versi 7.1 terkait dengan driver perangkat, sekitar 12% perubahan terkait dengan pembaruan kode khusus untuk arsitektur perangkat keras, 14% terkait dengan tumpukan jaringan, 5% terkait dengan sistem file, dan 3% terkait dengan subsistem kernel internal.

Fitur baru utama di kernel 7.1 (1, 2, 3):

  • Subsistem Disk, I/O dan Sistem File
    • Implementasi baru dari sistem file NTFS, ntfsplus, telah diadopsi. Implementasi ini didasarkan pada kode driver ntfs klasik, yang telah dihapus dari kernel. Driver lama telah didesain ulang, diperluas dengan kemampuan untuk menulis data, dan diadaptasi untuk mendukung fitur-fitur modern, seperti penggunaan folio halaman memori (folios) sebagai pengganti struktur buffer_head. Driver baru ini mengimplementasikan alokasi blok lazy, yang memungkinkan kinerja penulisan yang tinggi dan mengurangi fragmentasi. Pustaka iomap digunakan untuk operasi baca/tulis buffer, I/O langsung, pemetaan ekstensi, dan operasi baca/tulis halaman. Dalam pengujian iozone, driver ntfsplus 3-5% lebih cepat daripada ntfs3 saat menulis dalam mode single-threaded dan 35-110% lebih cepat saat menggunakan 4 thread. Kecepatan baca ntfsplus dan ntfs3 hampir sama. Driver ntfs3 tetap ada di kernel dan telah diperbarui dengan perbaikan dan peningkatan kecil.
    • Menambahkan dukungan untuk menghasilkan dan memverifikasi data pemeriksaan integritas T10 pada tingkat sistem file, bukan pada tingkat perangkat blok, yang meningkatkan kinerja operasi baca.
    • Driver perangkat blok ublk, yang memungkinkan logika spesifik dipindahkan ke proses ruang pengguna, kini mendukung input/output melalui memori bersama tanpa menyalin data antar buffer (mode zero-copy).
    • Untuk perangkat blok enkripsi mandiri SED-OPAL, ioctl telah ditambahkan untuk mengontrol mode Pengguna Tunggal dan perintah STACK_RESET telah diimplementasikan.
    • Btrfs telah mengumumkan dukungan stabil untuk operasi ioctl "shutdown", yang memungkinkan sistem file memasuki keadaan di mana ia mencoba untuk menghentikan operasi yang sedang berjalan, tetapi memblokir semua operasi baru.
    • exfat mengimplementasikan kemampuan untuk memesan area kosong dengan memanggil fallocate().
    • Sistem file CIFS sekarang mendukung pembuatan file sementara dengan flag O_TMPFILE.
    • Panggilan sistem fsmount() sekarang menyertakan opsi FSMOUNT_NAMESPACE, yang membuat namespace titik pemasangan baru untuk sistem file yang dipasang. Flag telah ditambahkan ke panggilan sistem clone3() dan unshare() untuk mengembalikan namespace titik pemasangan baru yang hanya berisi stub sistem file berbasis nullfs kosong yang dipasang dan driver fs-dax dengan antarmuka sistem file ke perangkat DAX (Akses Langsung).
    • Server NFS kini dilengkapi dengan perlindungan terhadap serangan brute-force pada deskriptor file, yang diimplementasikan dengan menandatangani deskriptor secara kriptografis. Perlindungan ini diaktifkan melalui opsi mount sign_fh.
    • Driver simbolik fs-dax telah ditambahkan, menyediakan antarmuka untuk berinteraksi dengan perangkat DAX (Direct Access) yang mendukung bypass cache halaman. Antarmuka ini diperlukan untuk mengintegrasikan sistem file dalam memori famfs ke dalam kernel.
    • Sistem file Ceph mengimplementasikan pengumpulan metrik I/O berdasarkan per volume.
  • Layanan memori dan sistem
    • Putaran pertama perubahan untuk menghapus dukungan untuk prosesor i486 telah diadopsi. Opsi untuk membangun kernel dengan dukungan untuk prosesor 486DX, 486SX, dan AMD ELAN (CONFIG_M486, CONFIG_M486SX, dan CONFIG_MELAN) telah dihapus dari Kconfig, dan opsi kompilasi untuk sistem i486 (-march=i486) telah dihapus dari Makefile. Kode sebenarnya untuk mendukung prosesor i486 masih ada di kernel, tetapi membangun untuk sistem tersebut sekarang akan memerlukan patch pada makefile. Alasan penghapusan dukungan untuk prosesor i486 adalah untuk menghilangkan kode kompleks dari kernel yang meniru operasi perangkat keras tertentu, seperti CX8 (membandingkan dan menukar 8 byte) dan TSC (penghitung siklus CPU yang digunakan dalam penjadwal tugas).
    • Driver amd-pstate, yang digunakan untuk manajemen daya pada sistem dengan prosesor AMD, kini secara dinamis beralih pengaturan kinerja dan memodifikasi perilaku manajemen daya tergantung pada apakah sistem berjalan menggunakan daya baterai atau sumber daya listrik. Saat terhubung ke sumber daya listrik, mode "performance" diaktifkan, sedangkan saat berjalan menggunakan daya baterai, mode "balance_performance" diaktifkan.
    • Mekanisme Flexible Return and Event Delivery (FRED) Intel diaktifkan secara default, meningkatkan efisiensi dan keandalan pengiriman peristiwa tingkat rendah. Performa dan latensi ditingkatkan dengan mengembalikan peristiwa menggunakan instruksi prosesor IRET alih-alih meneruskannya melalui Interrupt Descriptor Table (IDT). Keandalan ditingkatkan dengan memisahkan penerimaan peristiwa dalam konteks kernel dan pengguna, melindungi dari eksekusi NMI bersarang, dan menyimpan semua register CPU terkait pengecualian dalam frame tumpukan yang diperluas.
    • Subsistem perf telah diperbarui untuk mendukung unit pemantauan memori Performance Monitoring Unit (PMU) yang digunakan pada SoC NVIDIA Tegra410.
    • Operasi Futex pada sistem ARM telah dipercepat dengan memanfaatkan instruksi Arm 9.6 LSUI, yang memungkinkan kernel untuk mengakses memori ruang pengguna tanpa terlebih dahulu menonaktifkan mode perlindungan PAN (Privileged Access Never).
    • Pada sistem dengan prosesor ARM, dukungan untuk ekstensi arsitektur set instruksi Memory System Resource Partitioning and Monitoring (MPAM) telah ditingkatkan, dengan kemampuan untuk menggunakannya di ruang pengguna untuk manajemen sumber daya melalui mekanisme resctrl. MPAM memberi tag pada setiap akses memori dengan pengidentifikasi partisi (PARTID) dan pengidentifikasi grup pemantauan (PMG). Dengan menggunakan PARTID, Anda dapat membatasi konsumsi sumber daya, seperti bandwidth memori atau ukuran cache, untuk mencegah satu kelompok tugas mengonsumsi semua sumber daya. Dalam konteks pemantauan, kombinasi PMG dan PARTID dapat digunakan untuk melacak konsumsi sumber daya memori di bawah beban kerja tertentu.
    • Menambahkan dukungan untuk mode waktu nyata (PREEMPT_RT) pada prosesor ARM 32-bit. Sebelumnya, dukungan PREEMPT_RT disediakan untuk arsitektur x86 dan x86-64, ARM64, RISC-V, dan LoongArch.
    • Beberapa flag baru telah ditambahkan ke panggilan sistem clone3(): CLONE_NNP β€” mencegah proses yang baru dibuat mendapatkan hak akses baru; CLONE_AUTOREAP β€” secara otomatis menghentikan proses alih-alih mengubahnya menjadi proses zombie hingga proses induk menjalankan fungsi wait();
      CLONE_PIDFD_AUTOKILL - menghentikan proses anak jika handle pidfd yang terkait dengannya ditutup (misalnya, ketika proses induk berakhir).
    • Untuk setiap modul kernel, sebuah file import_ns telah ditambahkan ke direktori /sys/module, yang berisi daftar namespace simbol yang diimpor.
    • Sistem I/O asinkron io_uring kini mendukung penggunaan subsistem BPF untuk membuat handler. Misalnya, loop dispatch utama dapat digantikan dengan program BPF.
    • Subsistem BPF telah mengalami modernisasi analisis penggunaan tumpukan (stack), yang secara signifikan mempercepat pemeriksaan program BPF oleh verifikator.
    • Subsistem hrtimer (pengatur waktu resolusi tinggi) telah ditulis ulang untuk mengoptimalkan kinerja. Penjadwal tugas sekarang dapat menggunakan pengatur waktu resolusi tinggi tanpa mengorbankan kinerja, alih-alih menggunakan pengatur waktu yang kurang akurat.
    • Terus memigrasikan perubahan dari cabang Rust-for-Linux, terkait dengan penggunaan bahasa Rust sebagai bahasa kedua untuk mengembangkan driver dan modul kernel (dukungan Rust tidak aktif secara default, dan tidak menyebabkan Rust dimasukkan dalam daftar dependensi build wajib untuk kernel). Hingga versi 1.85 (dikirimkan dalam Debian 13) Peningkatan persyaratan versi Rust yang dibutuhkan untuk membangun komponen kernel. Menambahkan opsi Kconfig eksperimental CONFIG_RUST_INLINE_HELPERS untuk menyisipkan interpolasi C ke dalam kode Rust selama kompilasi (optimasi ini meningkatkan kinerja driver blok null sebesar 2%). Menambahkan makro 'const_assert!'. Memperluas kemampuan modul 'sizes', 'clk', 'ptr', 'sync', dan 'error'.
    • Mekanisme SCHED_EXT, yang memungkinkan penggunaan BPF untuk membuat penjadwal CPU, telah dilengkapi dengan kemampuan awal untuk membuat penjadwal bersarang (sub-penjadwal), yang memungkinkan setiap cgroup untuk menggunakan penjadwal tugasnya sendiri.
    • Optimalisasi subsistem swap terus berlanjut. Struktur swap_map lama dihapus dan digantikan dengan mekanisme "Swap Table". Perubahan ini meningkatkan kinerja dan mengurangi konsumsi memori pada subsistem swap.
    • Subsistem DAMON (Data Access MONitor), yang memungkinkan Anda untuk memantau akses proses ke data di RAM (misalnya, Anda dapat mengetahui area memori mana yang diakses oleh proses dan area memori mana yang tetap tidak digunakan), telah dilengkapi dengan dukungan untuk berbagai algoritma penyetelan kuota otomatis.
    • Subsistem pelacakan mengimplementasikan konsep buffer cincin eksternal, yang memungkinkan pengambilan data pelacakan dari mesin virtualFitur ini diaktifkan di hypervisor. KVM dan nVHE untuk mengirimkan data pelacakan dari guest ke sisi host.
    • Subsistem RV (Runtime Verification), yang dirancang untuk memeriksa pengoperasian yang benar dari sistem yang sangat andal, telah dilengkapi dengan komponen pemantauan "stall" untuk melacak tugas-tugas yang eksekusinya ditangguhkan atau diblokir sementara, dan "deadline" untuk menganalisis perilaku penjadwal tugas.
  • Virtualisasi dan Keamanan
    • Secara default, flag PROC_MEM_FORCE_PTRACE diatur, yang memungkinkan melewati hak akses memori proses melalui file /proc/PID/mem hanya untuk proses yang menggunakan panggilan sistem ptrace() untuk debugging.
    • Menambahkan serangkaian kait baru untuk modul LSM (Linux Modul Keamanan), yang menyederhanakan implementasi kebijakan untuk sistem file berbasis tumpukan seperti overlayfs. LSM juga menambahkan kait untuk mengelola akses ke soket Unix, yang digunakan dalam modul LSM Landlock untuk menetapkan kebijakan akses ke soket Unix.
    • Pustaka kripto bawaan lib/crypto, yang menyediakan fungsi yang lebih sederhana dan lebih cepat daripada API kripto tradisional, telah diperbarui untuk mendukung algoritma AES-CMAC, AES-XCBC-MAC, AES-CBC-MAC, GHASH, dan SM3. Dokumentasi untuk lib/crypto telah ditambahkan.
    • Kami telah mengimplementasikan mode pKVM (Protected KVM) untuk isolasi memori anonim yang ketat menggunakan ekstensi virtualisasi untuk arsitektur AArch64. Dalam mode ini, halaman memori tamu dikecualikan dari tabel alamat virtual sistem host.
    • Hypervisor KVM kini mendukung versi kelima dari ARM Virtual Generic Interrupt Controller (VGICv5).
  • Subsistem jaringan
    • Dukungan untuk atribut file tambahan (xattr) "user.*" telah diimplementasikan untuk soket Unix yang dibuat oleh fungsi socket(). Salah satu area aplikasinya adalah memberi label pada soket Unix yang digunakan untuk IPC Varlink melalui atribut tambahan, sehingga memungkinkan soket tersebut dibedakan dari soket lain untuk inspeksi dan debugging IPC menggunakan program BPF. Dalam systemd-journald, atribut tambahan dimaksudkan untuk digunakan untuk mendefinisikan format log untuk soket /dev/log.
    • Dukungan untuk protokol UDP-Lite (RFC 3828), yang memungkinkan pengiriman paket dengan checksum yang tidak valid dengan harapan, misalnya, data audio dan video yang sebagian rusak dapat dipulihkan pada tingkat codec, telah dihapus. Protokol ini telah dihapus karena tidak ada yang menggunakannya.
    • Kemampuan untuk membangun tumpukan IPv6 sebagai modul kernel telah dihapus. Ini tidak digunakan dalam praktiknya (IPv6 dibangun ke dalam kernel atau dinonaktifkan sepenuhnya), tetapi hal itu mempersulit pemeliharaan karena ketika membangun IPv6 sebagai modul kernel (CONFIG_IPV6=m), banyak subsistem dipaksa untuk menambahkan penangan yang tidak berguna jika modul IPv6 dibongkar.
  • ΠžΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
    • Driver AMDGPU menyertakan mesin tampilan baru (DC) untuk APU seri AMD HD 7000 (Sea Islands, GCN 1.1).
    • Driver Nouveau menambahkan dukungan awal untuk GPU NVIDIA GA100 berdasarkan arsitektur mikro Ampere.
    • Pengembangan driver Xe DRM (Direct Rendering Manager) untuk GPU berbasis arsitektur Intel Xe, yang digunakan pada kartu grafis seri Intel Arc dan grafis terintegrasi, dimulai dari prosesor Tiger Lake, terus berlanjut. Dukungan untuk subsistem grafis prosesor Intel Nova Lake-P telah ditambahkan. Objek Buffer yang Dapat Dihapus (Purgeable Buffer Objects) telah diimplementasikan.
    • Kami terus mengintegrasikan komponen driver Nova untuk GPU NVIDIA yang dilengkapi dengan firmware GSP yang digunakan sejak seri NVIDIA GeForce RTX 2000 berdasarkan mikroarsitektur Turing. Driver ini ditulis dalam bahasa Rust. Dukungan awal untuk GPU berdasarkan mikroarsitektur Turing telah ditambahkan.
    • Menambahkan driver DRM corebootdrm untuk menampilkan grafis melalui framebuffer firmware berbasis CoreBoot.
    • Menambahkan dukungan untuk ASoC berikut: AMD RPL DMIC, Cirrus Logic CS42L43, CS47L47, NVIDIA CPCAP, dan WM8962. Meningkatkan dukungan untuk perangkat audio USB: Huawei Headset, Focusrite Novation, MV-Silicon, Studio 1824, Arturia AF16Rig, Hotone Audio, Feaulle Rainbow.
      Kotak Audio PreSonus, Moondrop Ju Jiu, Scarlett 18i20.
    • Menambahkan driver yogafan untuk memantau kecepatan kipas pada laptop Lenovo Yoga, Legion, dan IdeaPad.
    • Menambahkan dukungan untuk board, SoC, dan perangkat ARM: Qualcomm Glymur, Qualcomm Mahua, Qualcomm Eliza, Qualcomm IPQ5210, Qualcomm apq8084 dan ipq806x, Axis ARTPEC-9, ARM Zena, ARM corstone-1000-a320, Microchip LAN9691, Microchip PIC64GX, Rockchip RV1103B, Renesas RZ/G3L, NXP S32N79.
    • Dukungan untuk pengontrol AHCI SATA dan PCIe yang digunakan dalam SoC Baikal-T1, serta driver timer, memori, physmap, bus, hwmon, dwc, dan bt1-rom, telah dihapus. Alasan yang dikemukakan untuk penghapusan tersebut adalah kurangnya dukungan dan integrasi yang tidak lengkap dari komponen platform Baikal ke dalam inti, karena produksi di Rusia telah berhenti pada November 2025.
    • Menghapus 12 driver untuk perangkat Ethernet dengan antarmuka ISA dan PCMCIA, yang dirilis sebelum tahun 2002, karena tidak ditemukan pengguna yang menggunakannya dalam sistem produksi. Juga dihapus dari kernel.
      Subsistem ISDN, implementasi protokol AX.25, CAIF, dan Bluetooth CMTP (Common ISDN Application Programming Interface Message Transport Protocol), driver yellowfin (Yellowfin Gigabit-NIC), hamachi (Hamachi GNIC-II), hamradio (Amateur Radio), inport, dan logibm (busmouse) telah dihapus. Alasan penghapusan tersebut adalah kurangnya pengelola aktif di tengah meningkatnya jumlah bug yang diidentifikasi oleh syzbot dan alat AI, yang tidak ada yang mau memperbaikinya, sehingga seluruh beban perbaikan masalah serius dibebankan kepada pengelola subsistem jaringan inti kernel. Secara total, lebih dari 140 baris kode telah dihapus.

Sumber: opennet.ru

Beli hosting yang andal untuk situs dengan perlindungan DDoS, server VPS VDS πŸ”₯ Beli hosting website andal dengan perlindungan DDoS, server VPS VDS | ProHoster