Pärast kahte kuu kestnud arendust tutvustas Linus Torvalds Linuxi tuuma 7.1 väljaannet. Kõige silmapaistvamad muudatused hõlmavad uut ntfsplus draiverit, esimese etapi lõpetamist i486 protsessori toetusest, vanade Etherneti adapterite eemaldamist, ISDN-i ja AX.25 protokollide eemaldamist, Intel FRED mehhanismi vaikimisi lubamist, BPF-protsessorite toetust io_uring'is, swap alamvõrgu optimeerimist, sched_ext'i alamplaneerijate toetust, zero-copy sisendi/väljundi toimet ublk draiveris, 'shutdown' ioctl-operatsiooni Btrfs-is, dünaamilist jõudluse režiimi vahetamist amd-pstate draiveris ja xattr toetust Unix-pistikute jaoks.
Uues versioonis on 17275 parandust 2589 arendajalt.
Patchi suurus on 57 MB (muudatused hõlmasid 13528 faili, lisati 751785 koodi rida, eemaldati 405916 rida). Eelmises väljaandes oli 15624 parandust 2477 arendajalt, patchi suurus oli 56 MB. Umbes 41% kõikidest 7.1 esitatud muudatustest on seotud seadme draiveritega, umbes 12% muudatustest on seotud arhitektuurispetsiifilise koodi värskendamisega, 14% on seotud võrgu stakiga, 5% failisüsteemidega ja 3% tuuma sisemiste süsteemidega.
Peamised uuendused tuumas 7.1 (1, 2, 3):
- Diskisüsteem, sisend/väljund ja failisüsteemid
- Uueks realisatsiooniks on lisatud NTFS failisüsteemi rakendus — ntfsplus, mis põhineb klassikalise ntfs draiveri eemaldatud koodil. Vanad draiver on ümberehitatud, lisades kirjutuste võimaluse ja kohandades seda kaasaegsete funktsioonide toetamiseks, nagu mälulehe folio (folios) kasutamine buffer_head struktuuri asemel. Uues draiveris on rakendatud viivitusega blokeerimise määramist, mis on võimaldanud saavutada kõrge kirjutamiskiirus ja vähendada fraktsioonimist. Puhvritud kirjutamise / lugemise, otse sisendi / väljundi, ulatuste kaardistamise ja lehtede kirjutamise / lugemise operatsioonide jaoks kasutatakse iomap teeki. Testides iozone osutus ntfsplus draiver ühe juhtme režiimis 3-5% kiiremaks kui ntfs3 ja 4 lõime kasutamisel 35-110% kiiremaks. Ntfsplus ja ntfs3 lugemiskiirus on ligikaudu samal tasemel. Ntfs3 draiver jääb tuuma koosseisu ning sellele on tehtud parandusi ja väikeseid täiustusi.
- Lisatud tugi T10 integriteedi kontrolli andmete genereerimisele ja valideerimisele failisüsteemi tasemel, mitte ploki seadme tasemel, mis võimaldab suurendada lugemisoperatsioonide jõudlust.
- Ublki plokkseadmestiku draiverisse, mis võimaldab viia spetsiifilise loogika kasutaja ruumi protsessi külge, on lisatud tugi sisend-/väljundtegevusele jagatud mälu kaudu, ilma andmete kopeerimiseta puhvrite vahel (zero-copy režiim).
- Isesalvestuvatele plokkseadmetele SED-OPAL on lisatud ioctl, et hallata Üksiku Kasutaja režiimi ja rakendatud on käsk STACK_RESET.
- Btrfs-is on välja kuulutatud stabiilne toe ioctl-operatsioonile 'shutdown', mis võimaldab failisüsteemi viia seisundisse, kus püütakse lõpetada juba käivitatud operatsioonide, kuid kõik uued operatsioonid on blokeeritud.
- Exfat-is on rakendatud tugi tühi alade broneerimiseks fallocate() funktsiooni kaudu.
- CIFS failisüsteemi on lisatud tugi ajutiste failide loomiseks O_TMPFILE lipuga.
- Süsteemi kõnele fsmount() on lisatud valik FSMOUNT_NAMESPACE, mis loob uue nimede ruumi monteerimispunkte monteeritavale failisüsteemile. Süsteemi kõnedele clone3() ja unshare() on lisatud lipud, et tagastada uusi monteerimispunktide nimesid, mis sisaldavad ainult monteeritud tühja failisüsteemi varianti nullfs baasil, fs-daxi draiverit koos DAX (Direct Access) seadmetele suunatud failisüsteemiga.
- NFS-serverisse on lisatud kaitse failide deskriptorite pettustaktikate vastu, rakendatud krüptograafilise allkirjaga deskriptorite kinnitamise kaudu. Kaitse aktiveeritakse mountimise sign_fh valikuga.
- Lisatud on sümboolne draiver fs-dax, mis pakub liidest DAX (Direct Access) seadmetega suhtlemiseks, mis toetavad töötlust lehe cache'i ümbersuunamisel. Antud liides on vajalik famfs failisüsteemi tuumasse integreerimiseks, mis asub RAM-is.
- Ceph failisüsteemis on rakendatud mõõdikute kogumine sisend-/väljundtegevuse kohta, seostatuna alajaotustega.
- Mälu ja süsteemiteenused
- Esitati esimene muudatuste seeria, et lõpetada i486 protsessorite toetamine. Kconfig'ist on eemaldatud valikud tuumade kompileerimiseks, mis toetavad 486DX, 486SX ja AMD ELAN protsessoreid (CONFIG_M486, CONFIG_M486SX ja CONFIG_MELAN), ning Makefile'ist on välja jäetud kompileerimisvalikud i486 süsteemide jaoks (-march=i486). Kood i486 protsessorite töö toetamiseks on veel tuumas, kuid sarnaste süsteemide kompileerimine nõuab nüüd kompileerimiste failide patchimise rakendamist. i486 protsessorite toe eemaldamise põhjused on seotud sooviga vabastada tuum keerukast koodist, mis emuleerib mõned riistvaralised operatsioonid, nagu CX8 (võrdle ja vaheta 8 bitti) ja TSC (CPU tsüklite loendur, mida kasutatakse ülesannete ajakava koostamiseks).
- AMD protsessoritega süsteemide energiatarbimise juhtimiseks kasutatavas amd-pstate draiveris on rakendatud dünaamiline jõudluse seadete vahetamine ja toitejuhtimise käitumise muutmine sõltuvalt toiteallikast – kas välistest toiteallikatest või akust. Välist toiteallikat kasutades aktiveeritakse nüüd "performance" režiim ja aku peal töötades "balance_performance".
- Vaikimisi on rakendatud Intel FRED (Flexible Return and Event Delivery) mehhanism, mis parandab madala taseme sündmuste teabe edastamise tõhusust ja usaldusväärsust. Tõhususe ja viivituste vähenemist saavutatakse sündmuste tagastamise kaudu protsessorijuhise IRET abil, selle asemel et edastada sündmusi läbi katkestuste kirjeldustabeli (IDT). Usaldusväärsust suurendatakse sündmuse saabumise eraldi töötlemisega tuuma ja kasutaja kontekstis, kaitsega sissekirjutamise NMI eest ja kõik seotud CPU registrid salvestatakse suurendatud kaanega lattu.
- Perf alam-süsteemi on lisatud toetus mälestustestide jälgimise blokki (PMU – Performance Monitoring Unit), mida kasutatakse NVIDIA Tegra410 SoC-s.
- Futexi operatsioonide täitmine ARM süsteemides on kiiruselt suurenenud tänu Arm 9.6 LSUI käskude kasutamisele, mis võimaldavad tuumal pääseda kasutaja ruumi mällu ilma PAN'i (Privileged Access Never) kaitse režiimi eelneva tühistamiseta.
- ARM-architektuuriga süsteemides on parandatud MPAM (Memory System Resource Partitioning and Monitoring) käsu komplekti laienduse toetust ning kasutusele on võetud võimalus selle rakendamiseks kasutajaruumi, et hallata ressursse resctrl mehhanismi kaudu. MPAM märgib iga mälu juurde pääsemise osakonna identifikaatori (PARTID, Partition ID) ja jälgimisgrupi identifikaatori (PMG, Monitoring Group ID). PARTIDi kontekstis saab piirata ressursside tarbimist, nagu mäluliiklus või vahemälu suurus, et teatud ülesannete grupp ei kasutaks kõiki ressursse. Jälgimise kontekstis saab PMG ja PARTID kombinatsiooni kasutada mäluresursside tarbimise jälgimiseks teatud koormustüüpide korral.
- 32-bitistel ARM protsessoritel on lisatud reaalajas režiimi (PREEMPT_RT) kasutamise võimalus. Varem oli PREEMPT_RT toetus saadaval ainult x86, x86-64, ARM64, RISC-V ja LoongArch arhitektuuridele.
- Süsteemikutsesse clone3() on lisatud uued lipud: CLONE_NNP — uute privilegeerimiste saamise keelamine loodud protsessis; CLONE_AUTOREAP — protsessi automaatne lõpetamine selle asemel, et muuta see zombiprotsessiks enne funktsiooni wait() täitmist vanemprotsessis;
CLONE_PIDFD_AUTOKILL — alameprotsessi lõpetamine, kui sellega seotud pidfd-deskriptor suletakse (nt vanemprotsessi lõpetamisel). - Iga kernelimooduli jaoks on katalooge /sys/module lisatud fail import_ns, mis sisaldab nimekirja imporditud symbol namespace'idest.
- Asünkroonse sisendi/väljundi io_uring süsteemi on lisatud BPF alamüsteemi toetus töötlejate loomise jaoks. Näiteks saab asendada põhihaldus tsükli BPF-programmiga.
- BPF alamüsteemis on ajakohastatud steki kasutamise analüüsi, mis on oluliselt kiirendanud paljude BPF-programmide verifikaatori kontrollimist.
- Selleks, et optimeerida tootlikkust, on ümber kirjutatud hrtimer (kõrge resolutsiooni taimeri) alamüsteem. Ülesannete plaanija saab nüüd kasutada kõrge resolutsiooni taimerite, ilma et tootlikkus väheneks, vähem täpsete taimerite kõrval.
- Muudatused Rust-for-Linux harust, mis puudutab Rusti kasutamist teise keelena draiverite ja tuumamoodulite arendamisel, jätkuvad (Rusti tugi ei ole vaikimisi aktiivne ning ei too kaasa Rusti muutumist tuuma kohustuslikuks kogumis sõltuvuseks). Enne versiooni 1.85 (mis on saadaval Debian 13-s) on tõusnud Rusti versiooni nõuded, mis on vajalikud tuuma komponentide kokkupanekuks. Uus eksperimentaalne Kconfig valik CONFIG_RUST_INLINE_HELPERS on lisatud, et sisestada C-kihte Rusti koodi kogumise ajal (optimeerimine kiirendas null-bloki draiveri tööd 2%). Lisatud on makro 'const_assert!'. Moodulite 'sizes', 'clk', 'ptr', 'sync', 'error' funktsionaalsust on laiendatud.
- SCHED_EXT mehhanismi, mis võimaldab BPF-i abil luua CPU plaanijaid, on lisatud algne võimalus luua siserakendusi (sub-scheduler), millega saab elke cgroup-i jaoks rakendada oma ülesannete plaanijat.
- Vahetus (swap) alamüsteemi optimeerimise töötamine jätkub. Vanaaegne swap_map struktuur on asendatud „Vahetustabeli” mehhanismiga. Muudatus on suurendanud toimivust ja vähendanud mälu tarbimist vahetusalamüsteemis.
- DAMON (Data Access MONitor) alamüsteemi, mis võimaldab jälgida protsessi andmete juurdepääsu RAM-is (nt võite teada, millele mälu aladelt protsess pääseb ja millised mälu alad jäävad kasutamata), on lisatud toetust erinevatele automaatse häälestamise algoritmidele.
- Jälgimise alamüsteemis on ellu viidud väliste ringpuhvrite kontseptsioon, mis võimaldab saada jälgimistulemusi. virtuaalmasinateVõime on kasutusel hüperviisorites, KVM ja nVHE-s, et edastada jälgimistulemusi külalissüsteemist hosti poole.
- RV (Runtime Verification) alamüsteemi, mis on mõeldud kõrge usaldusväärsusega süsteemide toimimise kontrollimiseks, on lisatud jälgimise komponente „stall” ülesannete jälgimiseks, mille täitmine on ajutiselt peatatud või blokeeritud, ja „deadline” ülesannete plaanija käitumise analüüsimiseks.
- Virtualiseerimine ja turvalisus
- Vaikimisi on seadistatud lipukese PROC_MEM_FORCE_PTRACE, mis lubab mälu juurdepääsu õiguste ringi kõrvale kalduda protsessi mälu failile /proc/PID/mem ainult protsesside jaoks, mis rakendavad tõrkeotsingu süsteemi väljakutset ptrace().
- LSM-moodulite (Linux Security Module) jaoks on lisatud uus hookide komplekt, mis lihtsustab poliitikate rakendamist virnalaadsete failisüsteemide, nagu overlayfs, jaoks. LSM-i on lisatud ka hook Unix-socketite juurdepääsu juhtimiseks, mida rakendatakse LSM-moodulis Landlock Unix-socketite juurdepääsupoliitikate määramiseks.
- Lib/crypto, mis pakub lihtsamaid ja kiiremaid funktsioone kui traditsiooniline crypto API, on saanud toetuse algoritmide AES-CMAC, AES-XCBC-MAC, AES-CBC-MAC, GHASH ja SM3 jaoks. Lisatud on dokumentatsioon lib/crypto kohta.
- On rakendatud pKVM (Protected KVM) režiim, et rangelt isoleerida anonüümsed mälud AArch64 arhitektuuri virtualiseerimise laiendite abil. Selles režiimis jäetakse külaliste mälu lehed host-süsteemi virtuaalsete aadresside tabelist välja.
- KVM-i hüperviisorisse on lisatud toetus viiendale versioonile ARM-i virtuaalsest katkestuste juhist (VGICv5 — ARM Virtuaalne Üldine Katkestuste Juhis v5).
- Võrgusüsteem
- Unix-socketite jaoks, mis on loodud funktsiooni socket() kaudu, on rakendatud laiendatud failiattribuutide (xattr) toetamine "user.*". Rakenduste hulgas märgitakse, et Unix-socketitele, mida kasutatakse IPC Varlinki jaoks, lisatakse sildid laiendatud atribuutide kaudu, et neid eristada üldisest massist IPC töö inspektsiooni ja tõrkeotsingu eesmärgil BPF-programmide abil. Systemd-journaldis soovitakse laiendatud atribuutide abil määrata logiformaati, seondudes soketiga /dev/log.
- UDP-Lite protokolli (RFC 3828) tugi, mis lubab pakettide saatmist vale kontrollsummaga lootuses, et näiteks osaliselt rikutud audio- ja videodaatad saavad taastuda kodeerimise tasemel, on eemaldatud. Protokoll on eemaldatud, kuna seda ei kasutata.
- IPv6 protokolli sisestamine tuumamoodulina on eemaldatud, mis ei olnud praktikas kasutusel (IPv6 kas integreeritakse tuuma või lülitatakse täielikult välja), kuid raskendas hooldust, kuna IPv6 moodulina konfigureerimisel (CONFIG_IPV6=m) olid paljud alam-süsteemid sunnitud lisama kasutud töötlusteenused IPv6 mooduli väljatõmbamise korral.
- Varustus
- AMDGPU draiverisse on lisatud uus ekraani mootori (DC) tugi AMD HD 7000 seeria APUdele (Sea Islands, GCN 1.1).
- Nouveau draiverisse on lisatud algne tugi NVIDIA GA100 GPU-le, mis põhineb Ampere mikroarhitektuuril.
- Jätkatakse drm-draiveri (Direct Rendering Manager) Xe arendust Intel Xe arhitektuuriga GPU-de jaoks, mis kasutatakse Intel Arc seerias ja integreeritud graafikas alates Tiger Lake protsessoritest. Lisatud tugi Intel Nova Lake-P protsessorite graafikasüsteemile. Rakendatud puhastatavad puhverobjektid (Purgeable Buffer Objects).
- Jätkub Nova draiveri komponentide integreerimine NVIDIA GPU-dele, mis on varustatud GSP-firmware'idega, mida on kasutatud alates NVIDIA GeForce RTX 2000 seeriast, mis põhineb Turing mikroarhitektuuril. Draiver on kirjutatud Rust keeles. Algne tugi Turing mikroarhitektuuril põhinevatele GPU-dele on lisatud.
- Lisatud corebootdrm DRM-draiver graafika edastamiseks CoreBoot püsivara raami kaudu.
- Lisatud AMD RPL DMIC, Cirrus Logic CS42L43, CS47L47, NVIDIA CPCAP ja WM8962 helitoe ASoC tugi. Parandatud USB-liidese heliseadmete tuge: Huawei kõrvaklapid, Focusrite Novation, MV-Silicon, Studio 1824, Arturia AF16Rig, Hotone Audio, Feaulle Rainbow,
PreSonus AudioBox, Moondrop Ju Jiu, Scarlett 18i20. - Lisatud yogafan draiver Lenovo Yoga, Legion ja IdeaPad sülearvutites ventilaatori pöörlemiskiirusest jälgimiseks.
- Lisatud ARM-plaatide, SoC-de ja seadmete tugi: Qualcomm Glymur, Qualcomm Mahua, Qualcomm Eliza, Qualcomm IPQ5210, Qualcomm apq8084 ja ipq806x, Axis ARTPEC-9, ARM Zena, ARM corstone-1000-a320, Microchip LAN9691, Microchip PIC64GX, Rockchip RV1103B, Renesas RZ/G3L, NXP S32N79.
- Eemaldatud Baikal-T1 SoC-des kasutatav AHCI SATA ja PCIe kontrollerite tugi, samuti ajasturi, mälu, physmap, bussi, hwmon, dwc ja bt1-rom draiverid. Eemaldamise põhjuseks on toeta ja lõpetamata integratsioon Baikali platvormi komponentide tuumas, mille tootmine Venemaal lõpetati novembris 2025.
- Eemaldatud 12 Ethernet-seadmete draiverit ISA ja PCMCIA liidese jaoks, mis toodeti enne 2002. aastat, mille jaoks ei leitud kasutajaid, kes neid töötavates süsteemides kasutaksid. Samuti eemaldati tuumast
ISDN-alamsüsteem, AX.25, CAIF ja Bluetooth CMTP (Common ISDN Application Programming Interface Message Transport Protocol) protokollide rakendused, draiverid yellowfin (Yellowfin Gigabit-NIC), hamachi (Hamachi GNIC-II), hamradio (Amateur Radio), inport ja logibm (busmouse). Eemaldamise põhjuseks on aktiivsete hooldajate puudumine, samas kui syzbot ja AI-tööriistade abil tuvastatavate vigade arv suureneb, mida keegi ei korja, ja kogu tõsiste probleemide kõrvaldamise koormus langeb põhivõrgusüsteemide peamiste hooldajate õlule. Kokku eemaldati üle 140 000 koodirea.
Allikas: opennet.ru
