Sawise rong wulan pangembangan, Linus Torvalds nampilake rilis kernel Linux 6.7. Antarane owah-owahan sing paling penting: integrasi sistem file Bcachefs, mandap dhukungan kanggo arsitektur Itanium, kemampuan kanggo nggarap Nouvea karo perangkat kukuh GSP-R, dhukungan kanggo enkripsi TLS ing NVMe-TCP, kemampuan kanggo nggunakake pangecualian ing BPF, dhukungan kanggo futex ing io_uring, optimalisasi kinerja fq (Fair Queuing, support ATCP) scheduler ATCP. extension lan kemampuan kanggo matesi sambungan jaringan ing mekanisme pangayoman Landlock, ditambahaké kontrol akses kanggo namespace pangguna lan io_uring liwat AppArmor.
Versi anyar kalebu 18405 koreksi saka 2066 pangembang, ukuran tembelan yaiku 72 MB (pangowahan sing kena pengaruh 13467 file, 906147 baris kode ditambahake, 341048 baris dibusak). Rilis sadurunge duwe 15291 koreksi saka 2058 pangembang, ukuran tembelan yaiku 39 MB. Udakara 45% saka kabeh owah-owahan sing ditampilake ing 6.7 ana gandhengane karo driver piranti, udakara 14% owah-owahan ana gandhengane karo nganyari kode khusus kanggo arsitektur hardware, 13% ana gandhengane karo tumpukan jaringan, 5% ana gandhengane karo sistem file, lan 3% ana gandhengane karo subsistem kernel internal.
Inovasi utama ing kernel 6.7:
- Subsistem disk, I/O lan sistem file
- Kernel nggunakake kode sistem file Bcachefs, sing nyoba nggayuh kinerja, linuwih, lan skalabilitas XFS, digabungake karo fungsi lanjut sing ditemokake ing Btrfs lan ZFS. Contone, Bcachefs ndhukung fitur kayata macem-macem piranti saben partisi, tata letak panyimpenan multi-lapisan (lapisan ngisor kanthi data sing kerep digunakake adhedhasar SSD cepet, lan lapisan ndhuwur kanthi data sing kurang kerep digunakake saka hard drive), replikasi (RAID 1/10), caching, kompresi data transparan (LZ4, gzip, lan ZSTD, nggunakake mode integritas kanggo nyimpen gambar), Kode koreksi kesalahan Reed-Solomon (RAID 5/6), lan panyimpenan sing dienkripsi (ChaCha20 lan Poly1305 digunakake). Ing babagan kinerja, Bcachefs ngluwihi Btrfs lan sistem file liyane adhedhasar mekanisme Copy-on-Write, lan nduduhake kacepetan operasi sing cedhak karo Ext4 lan XFS.
- Sistem file Btrfs pirso mode kuota simplified sing ngidini kanggo kinerja sing luwih dhuwur dening nelusuri extents mung ing anak bagean kang lagi digawe, kang nemen menakake petungan lan mbenakake kinerja, nanging ora ngidini kanggo extents sing dienggo bareng antarane sawetara anak bagean dijupuk menyang akun.
- Btrfs nambahake struktur data anyar sing disebut "wit belang", cocok kanggo pemetaan logis saka extents ing kahanan pemetaan fisik ora cocog ing piranti beda. Struktur kasebut saiki digunakake ing implementasi RAID0 lan RAID1 kanggo piranti blok zona. Ing mangsa ngarep, struktur iki direncanakake digunakake ing RAID tingkat sing luwih dhuwur, sing bakal ngrampungake sawetara masalah ing implementasine saiki.
- Sistem file Ceph ngetrapake dhukungan kanggo pemetaan ID pangguna saka sistem file sing dipasang, sing digunakake kanggo map file pangguna tartamtu ing partisi asing sing dipasang menyang pangguna liyane ing sistem saiki.
- efivarfs saiki ngidini nemtokake uid lan gid nalika dipasang kanggo ngidini pangolahan non-root kanggo ngowahi variabel UEFI.
- Nambahake panggilan ioctl menyang exFAT kanggo maca lan ngganti atribut FS. Ditambahake nangani direktori ukuran nol.
- F2FS ngetrapake kemampuan kanggo nggunakake blok 16K.
- Mekanisme automount autofs wis diuripake kanggo nggunakake partisi soyo tambah API anyar.
- OverlayFS nawakake "lowerdir +" lan "datadir +" opsi gunung. Dhukungan ditambahake kanggo overlayFS nested mounts karo xattrs.
- XFS wis ngoptimalake beban CPU ing kode alokasi blok wektu nyata. Saiki sampeyan bisa nindakake operasi maca lan FICLONE bebarengan.
- Kode EXT2 wis diowahi kanggo nggunakake folio kaca.
- Layanan memori lan sistem
- Dhukungan kanggo arsitektur ia64 sing digunakake ing prosesor Itanium Intel, sing dihentikan ing taun 2021, wis dihentikan. Intel ngenalake prosesor Itanium ing taun 2001, nanging arsitektur ia64 gagal saingan karo AMD64, utamane amarga kinerja AMD64 sing luwih dhuwur lan transisi sing luwih lancar saka prosesor x86 32-bit. Akibate, fokus Intel pindhah menyang prosesor x86-64, ninggalake Itanium minangka fokus utama. server HP Integrity, sing mandheg nampa pesenan telung taun kepungkur. Kode dhukungan ia64 dibusak saka kernel, utamane amarga platform kasebut wis suwe ora duwe dhukungan. Linus Torvalds wis nyatakake kekarepane kanggo mulihake dhukungan ia64, nanging mung yen pangopèn bisa nduduhake dhukungan berkualitas tinggi kanggo platform ing njaba kernel inti paling ora setaun.
- Nambahake parameter baris perintah kernel "ia32_emulation", sing ngidini ngaktifake lan mateni dhukungan kanggo emulasi mode 32-bit ing kernel sing dibangun kanggo arsitektur x86-64 nalika boot. Ing istilah praktis, parameter anyar ngidini mbangun kernel karo support kanggo kompatibilitas karo aplikasi 32-dicokot, nanging mateni mode iki minangka standar kanggo ngurangi vektor serangan kanggo kernel, wiwit API kanggo mesthekake kompatibilitas kurang dites saka antarmuka kernel utama.
- Owah-owahan porting terus saka cabang Rust-for-Linux sing ana gandhengane karo nggunakake Rust minangka basa liya kanggo ngembangake driver lan modul kernel (Dhukungan Rust ora aktif kanthi standar, lan ora nyebabake Rust kalebu ing dhaptar dependensi mbangun wajib kanggo kernel). Versi anyar ngalih kanggo nggunakake Rust 1.73 lan nawakake pesawat saka bindings kanggo karya karo workqueues.
- Nyedhiyakake kemampuan kanggo nggunakake mekanisme binfmt_misc kanggo nambah dhukungan kanggo format file eksekusi anyar (contone, kanggo mbukak aplikasi Java utawa Python sing dikompilasi) ing papan jeneng sing ora duwe hak istimewa.
- Cpuset controller cgroup, sing ngidini ngatur panggunaan inti CPU nalika nglakokake tugas, nyedhiyakake divisi menyang partisi lokal lan remot, sing beda-beda yen cgroup induk minangka partisi root sing bener utawa ora. cpuset uga nambah setelan anyar "cpuset.cpus.exclusive" lan "cpuset.cpus.excluisve.effective" kanggo karemenan CPU eksklusif.
- Subsistem BPF ngleksanakake dhukungan kanggo pangecualian, sing ditangani minangka metu urgent saka program BPF karo kemampuan kanggo aman unwind pigura tumpukan. Kajaba iku, program BPF diijini nggunakake pointer kptr kaiket CPU.
- Subsistem io_uring wis ditambahi kanggo ndhukung operasi futex, lan operasi anyar wis dileksanakake: IORING_OP_WAITID (versi asynchronous saka waitid), SOCKET_URING_OP_GETSOCKOPT (varian saka getsockoptand), SOCKET_URING_OP_SETSOCKOPT (varian saka setsockopt_multi), SOCKET_URING_OP_GETSOCKOPT. maca operasi sing ora mandheg nganti ana data utawa buffer kebak).
- Nambahake implementasine antrian FIFO siji-rampung entheng sing mbutuhake spinlock mung kanggo dequeuing ing konteks proses lan ora mbutuhake spinlock kanggo tambahan antrian atom ing konteks apa wae.
- Added ring buffer "objpool" karo implementasine keukur saka antrian kinerja dhuwur kanggo alokasi lan bali obyek.
- Added owahan awal kanggo ngleksanakake API futex2 anyar, kang wis kinerja luwih apik ing sistem NUMA, ndhukung ukuran liyane saka 32 bit, lan bisa digunakake tinimbang multiplexed futex () sistem telpon.
- Kanggo arsitektur ARM32 lan S390x, dhukungan kanggo set saiki (cpuv4) instruksi BPF wis ditambahake.
- Kanggo arsitektur RISC-V, kemampuan kanggo nggunakake mode verifikasi Shadow-Call Stack kasedhiya ing Clang 17 wis dipun ginakaken, kang dirancang kanggo nglindhungi saka overwriting alamat bali saka fungsi ing acara saka kebanjiran buffer ing tumpukan. Inti saka pangayoman iku kanggo nyimpen alamat bali ing kapisah "bayangan" tumpukan sawise nransfer kontrol kanggo fungsi lan extract alamat iki sadurunge metu saka fungsi.
- Mode mindhai kaca memori cerdas anyar wis ditambahake menyang mekanisme Kernel Samepage Merging (KSM), sing nglacak kaca sing ora bisa dipindai lan nyuda intensitas pemindaian maneh. Setelan /sys/kernel/mm/ksm/smart_scan wis ditambahake kanggo ngaktifake mode anyar.
- Added printah ioctl anyar PAGEMAP_SCAN, kang nalika digunakake karo userfaultfd (), ngijini sampeyan kanggo nemtokake kasunyatan nulis kanggo sawetara memori tartamtu. Fitur anyar bisa digunakake, contone, ing sistem kanggo nyimpen lan mulihake negara pangolahan CRIU utawa ing sistem anti-ngapusi game.
- Ing sistem mbangun, yen Clang compiler saiki, mbangun conto nggunakake subsistem perf, ditulis minangka program BPF, diaktifake minangka standar.
- Lapisan videobuf lawas, sing digunakake kanggo ngatur framebuffer ing subsistem media lan diganti karo implementasi videobuf10 anyar luwih saka 2 taun kepungkur, wis dibusak.
- Virtualisasi lan Keamanan
- Subsistem fscrypt saiki ndhukung enkripsi data ing blok sing luwih cilik tinimbang ukuran blok sistem file. Iki perlu kanggo ngaktifake mekanisme enkripsi hardware sing mung ndhukung blok cilik (contone, pengontrol UFS sing mung ndhukung ukuran blok 4096 bisa digunakake karo FS kanthi ukuran blok 16K).
- Subsistem "iommufd", sing ngidini ngatur tabel kaca memori IOMMU (I / O Memory-Management Unit) liwat deskriptor file saka ruang pangguna, wis ditambah karo nelusuri data sing durung disiram saka cache (kotor) kanggo operasi DMA, sing perlu kanggo ngenali memori karo data sing ora dibuwang sajrone proses migrasi.
- Mekanisme Landlock, sing ngidini sampeyan mbatesi interaksi klompok pangolahan karo lingkungan eksternal, wis ditambah karo dhukungan kanggo nemtokake aturan kanggo kontrol akses menyang soket TCP. Contone, sampeyan bisa nggawe aturan sing mung ngidini akses menyang port jaringan 443 kanggo nggawe sambungan HTTPS.
- Subsistem AppArmor wis dianyari kanggo nyakup kemampuan kanggo ngontrol akses menyang mekanisme io_uring lan nggawe ruang jeneng pangguna, ngidini ijin selektif ngidini akses menyang kemampuan kasebut mung kanggo proses tartamtu.
- API Sertifikasi sing ditambahake mesin virtual kanggo ngonfirmasi integritas proses unduhan.
- Sistem LoongArch ndhukung virtualisasi nggunakake hypervisor KVM.
- Nalika nggunakake hypervisor KVM ing sistem RISC-V, support kanggo extension Smstateen wis ditambahake, kang pamblokiran mesin virtual saka ngakses ndhaftar CPU sing ora tegas didhukung dening hypervisor. Dhukungan uga ditambahake kanggo nggunakake extension Zicond ing sistem tamu, sing ngidini sawetara operasi integer kondisional.
- Nganti 86 CPU virtual diijini ing tamu basis x4096 sing mlaku ing KVM.
- Subsistem jaringan
- NVMe-TCP (NVMe liwat TCP) driver, sing ngidini akses NVMe drive liwat jaringan (NVM Express liwat Kain) nggunakake protokol TCP, wis dianyari kanggo ndhukung enkripsi saluran transfer data nggunakake TLS (nggunakake KTLS lan proses latar mburi ing ruang pangguna tlshd kanggo rembugan sambungan).
- Kinerja panjadwal paket fq (Antri Adil) wis dioptimalake, sing wis nambah throughput kanthi 5% ing beban abot ing tes tcp_rr (Panjaluk/Respon TCP) lan 13% ing aliran paket UDP sing ora ana watesan.
- Protokol TCP diwenehi pilihan kanggo nggunakake cap wektu (TCP TS) kanthi presisi mikrodetik (RFC 7323), sing ngidini estimasi wektu tundha sing luwih akurat lan nggawe modul kontrol kemacetan sing luwih maju. Kanggo ngaktifake, gunakake printah "rute ip nambah 10/8 ... fitur tcp_usec_ts".
- Tumpukan TCP saiki ndhukung ekstensi TCP-AO (TCP Authentication Option, RFC 5925), sing mbisakake verifikasi header TCP dening kode MAC (Message Authentication Code) nggunakake algoritma HMAC-SHA1 lan CMAC-AES-128 sing luwih modern tinimbang pilihan TCP-MD5 sing kasedhiya sadurunge adhedhasar algoritma MD5 sing wis lawas.
- Nambahake jinis anyar piranti jaringan virtual "netkit", logika transfer data sing disetel nggunakake program BPF.
- KSMBD, implementasi tingkat kernel saka server SMB, wis nambah dhukungan kanggo ngrampungake jeneng file sing ngemot pasangan pengganti karakter majemuk.
- NFS wis nambah implementasine stream karo layanan RPC. Dhukungan ditambahake kanggo nulis delegasi (kanggo NFSv4.1+). NFSD wis nambah support kanggo netlink handler rpc_status. Dhukungan apik kanggo klien NFSv4.x nalika ngekspor maneh menyang knfsd.
- Peralatan
- Modul kernel Nouveau wis dianyari kanthi dhukungan dhisikan kanggo perangkat kukuh GSP-RM, sing digunakake ing NVIDIA RTX 20+ GPUs kanggo offload initialization GPU lan operasi manajemen menyang GSP kapisah (GPU System Processor) mikrokontroler. Dhukungan GSP-RM ngidini driver Nouveau bisa digunakake liwat perangkat kukuh tinimbang langsung program operasi interaksi hardware, kang nemen nyederhanakake nambah support kanggo GPUs NVIDIA anyar kanthi nggunakake telpon siap-digawe kanggo initialization lan daya Manajemen.
- Driver AMDGPU ndhukung GC 11.5, NBIO 7.11, SMU 14, SMU 13.0 OD, DCN 3.5, VPE 6.1, lan DML2. Dhukungan loading lancar wis apik (ora kelip-kelip nalika ngalih mode video).
- Pembalap i915 nambah dhukungan kanggo chip Intel Meteor Lake lan nambah implementasi awal Intel LunarLake (Xe 2).
- Dhukungan tambahan kanggo saluran transmisi asimetris sing ditambahake ing spesifikasi USB4 v2 (120/40G).
- Dhukungan tambahan kanggo ARM SoC: Qualcomm Snapdragon 720G (digunakake ing smartphone Xiaomi), AMD Pensando Elba, Renesas, R8A779F4 (R-Car S4-8), USRobotics USR8200 (digunakake ing router lan NAS).
- Dhukungan tambahan kanggo smartphone Fairphone 5 lan papan ARM Orange Pi 5, QuartzPro64, Turing RK1, Variscite MX6, BigTreeTech CB1, Freescale LX2162, Google Spherion, Google Hayato, Genio 1200 EVK, RK3566 Powkiddy RGB30.
- Dhukungan ditambahake kanggo papan RISC-V Milk-V Pioneer lan Milk-V Duo.
- Dhukungan tambahan kanggo antarmuka audio notebook HUAWEI sing dilengkapi karo CPU AMD. Dhukungan tambahan kanggo speaker tambahan sing diinstal ing notebook Dell Oasis 13/14/16. Dhukungan tambahan kanggo speaker dibangun ing ASUS K6500ZC. Dhukungan tambahan kanggo indikator bisu ing notebook HP 255 G8 lan G10. Dhukungan tambahan kanggo driver audio acp6.3. Dhukungan ditambahake kanggo antarmuka rekaman audio profesional Focusrite Clarett + 2Pre lan 4Pre.
Ing wektu sing padha, Latin American Free Software Foundation nggawe versi kernel gratis 6.7 — Linux-libre 6.7-gnu, ngresiki perangkat kukuh lan unsur driver sing ngemot komponen sing ora gratis utawa bagean kode sing ruang lingkup aplikasi diwatesi dening pabrikan. Rilis 6.7 nganyari kode reresik blob ing macem-macem pembalap lan subsistem, contone, ing driver amdgpu, nouveau, adreno, mwifix, mt7988, ath11k, avs lan btqca. Kode reresik kanggo pembalap localtalk lan rtl8192u dibusak amarga ora dikecualekake saka kernel. Komponen reresik sing ora perlu kanggo pembalap xhci-pci, rtl8xxxu lan rtw8822b, sing sadurunge ora sengaja ditambahake, dicopot. Jeneng blob ing file dts kanggo arsitektur Aarch64 wis diresiki. Dibusak blobs ing driver mt7925 anyar, tps6598x, aw87390 lan aw88399.
Source: opennet.ru
