
Efter tvÄ mÄnaders utveckling presenterade Linus Torvalds Är kÀrnlansering Linux 7.1. Bland de mest mÀrkbara förÀndringarna: en ny ntfsplus-drivrutin, den första fasen av att upphöra med stöd för CPU i486, borttagning av gamla Ethernet-adaptrar, borttagning av ISDN- och AX.25-protokoll, standardaktivering av Intel FRED-mekanismen, stöd för BPF-hanterare i io_uring, optimering av sidsystemet, stöd för delplanerare i sched_ext, zero-copy I/O i ublk-drivrutinen, ioctl-operationen shutdown i Btrfs, dynamiskt prestandalÀge i amd-pstate-drivrutinen, stöd för xattr för Unix-sockets.
I den nya versionen har 17275 korrigeringar accepterats frÄn 2589 utvecklare, patchstorleken Àr 57 MB (Àndringarna berör 13528 filer, 751785 kodrader har lagts till och 405916 kodrader har tagits bort). I den föregÄende versionen var det 15624 korrigeringar frÄn 2477 utvecklare, patchstorleken var 56 MB. Cirka 41% av alla förÀndringar i 7.1 rör enhetens drivrutiner, ungefÀr 12% av förÀndringarna relaterar till uppdatering av kod specifik för hÄrdvaruarkitekturer, 14% rör nÀtverksstacken, 5% handlar om filsystem och 3% om interna kÀrnsystem.
Huvudnyheterna i kÀrna 7.1 (kernelnewbies.org, lwn.net, opennet):
Disksubsystem, in- och utmatning och filsystem
- I sammansĂ€ttningen har accepterats en ny implementation av filsystemet NTFS â ntfsplus, baserat pĂ„ koden frĂ„n den borttagna klassiska ntfs-drivrutinen. Den gamla drivrutinen har omarbetats, utökats med möjligheten att skriva data och anpassats för att stödja moderna funktioner, sĂ„som anvĂ€ndning av minnessidor (folios) istĂ€llet för buffer_head-strukturen. I den nya drivrutinen har slutsĂ€ttning av block implementerats, vilket har lett till hög prestanda vid skrivoperationer och minskad fragmentering. För buffrade skriv-/lĂ€sningsoperationer, direkt I/O, mappning av extenter och sidor skriv-/lĂ€sningsoperationer har ett bibliotek anvĂ€nts. iomap. I iozone-tester visade sig ntfsplus-drivrutinen vara 3-5% snabbare Ă€n ntfs3 vid skrivning i en trĂ„d och 35-110% snabbare vid anvĂ€ndning av 4 trĂ„dar. LĂ€stakten för ntfsplus och ntfs3 ligger pĂ„ ungefĂ€r samma nivĂ„. ntfs3-drivrutinen förblir i kĂ€rnan och fĂ„r har fixar och mindre förbĂ€ttringar.
- Stöd för generering och verifiering av dataintegritetskontroller har lagts till T10 (deepwiki.com) pÄ filsystemsnivÄ, snarare Àn blockenhet, vilket möjliggör ökad prestanda vid lÀsoperationer.
- I blockenhetsdrivrutinen ublk, vilket möjliggör att flytta specifik logik till anvÀndarens processesida, har lagts till stöd för in-/utgÄng via delat minne utan att kopiera data mellan buffertar (zero-copy-lÀge).
- För sjÀlvkrypterande blockenheter SED-OPAL har lagts till ioctl för att hantera lÀget Enkel anvÀndare och kommandot STACK_RESET har implementerats.
- I Btrfs har stöd för ioctl-operationen shutdown stabiliserats, vilket möjliggör att filsystemet hamnar i ett tillstÄnd dÀr det görs försök att avsluta redan pÄbörjade operationer, men alla nya operationer blockeras.
- I exfat har möjligheten till reservdelning av tomma omrÄden genom anrop av fallocate() implementerats.
- I CIFS-filsystemet har stöd för att skapa temporÀra filer med flaggan O_TMPFILE lagts till.
- I systemanropet fsmount() har en ny funktion FSMOUNT_NAMESPACE lagts till, som skapar ett nytt namnrymde för monterade filsystem. Flaggar för att hÀmta det nya namnrymden för monteringspunkter, som endast innehÄller den monterade tomma FS-stubben baserat pÄ nullfs, har lagts till i systemanropen clone3() och unshare().
- I NFS-servern har lagts till har skydd mot angrepp genom att gissa filbeskrivare implementerats genom att autentisera beskrivare med kryptografisk signatur. Skyddet aktiveras genom monteringsalternativet sign_fh.
- Tillagd symbolisk drivrutin fs-dax, som ger ett grÀnssnitt för att interagera med enheter DAX (kernel.org) (Direct Access), som stöder drift utanför sidcache. Detta grÀnssnitt Àr nödvÀndigt för integration i kÀrnfilsystemet famfs, som ligger i det efterfrÄgade minnet.
- I Ceph-filsystemet genomförd samlar in mÀtvÀrden om in-/utgÄng kopplat till underavdelningar.
Minne och systemtjÀnster
- Antagen den första serien Àndringar för att upphöra med stöd för i486-processorer. Alternativen för att bygga kÀrnan med stöd för 486DX, 486SX och AMD ELAN (CONFIG_M486, CONFIG_M486SX och CONFIG_MELAN) har tagits bort frÄn Kconfig och kompilationsalternativen för i486-system (-march=i486) har tagits bort frÄn Makefile. Koden för att faktiskt stödja drift pÄ i486-processorer har lÀmnats i kÀrnan, men byggandet för sÄdana system kommer nu att krÀva tillÀmpning av patchar pÄ byggfiler. SkÀlen för att ta bort stödet för i486-processorer beror pÄ önskan att befria kÀrnan frÄn komplicerad kod som emulerar vissa hÄrdvaruoperationer, sÄsom CX8 (jÀmför och byt 8 byte) och TSC (CPU-cykeltalare, som anvÀnds i schemalÀggaren).
- I AMD-pstate-drivrutinen, som anvÀnds för att hantera energiförbrukningen pÄ system med AMD-processorer, har genomförts genomförs dynamisk vÀxling av prestandainstÀllningar och förÀndringar i strömhanteringen beroende pÄ om systemet Àr anslutet till vÀgguttaget eller körs pÄ batteri. Vid stationÀr drift aktiveras nu prestanda-lÀget, medan balansprestanda anvÀnds vid batteridrift.
- Standardmekanismen Intel FRED (Flexible Return and Event Delivery), som möjliggör en effektivare och mer pĂ„litlig leverans av information om lĂ„g-nivĂ„hĂ€ndelser. Prestandaökningen och minskade fördröjningar uppnĂ„s genom att Ă„terföra hĂ€ndelser med hjĂ€lp av processorinstruktionen IRET istĂ€llet för att överföra hĂ€ndelser via IDT-tabellen (Interrupt Descriptor Table). Ăkad pĂ„litlighet uppnĂ„s genom separat hantering av inkommmande hĂ€ndelser i kĂ€rn- och anvĂ€ndarkontext, skydd mot implantering av NMI och lagring av alla CPU-register relaterade till undantag i en utökad stackram.
- I perf-subsystemet har lagts till stöd för prestandaövervakningsenheter (PMU - Performance Monitoring Unit), som anvÀnds i SoC NVIDIA Tegra410.
- Utförandet av futex-operationer har pÄskyndats pÄ ARM-system genom att anvÀnda Arm 9.6 LSUI-instruktioner, vilket gör det möjligt för kÀrnan att fÄ tillgÄng till anvÀndarutrymmets minne utan att först stÀnga av skyddslÀget. PAN (arm.com) (Privileged Access Never).
- PÄ ARM-system har stödet för tillÀgg av kommandosystem förbÀttrats MPAM (Memory System Resource Partitioning and Monitoring) och möjligheten att anvÀnda det i anvÀndarutrymmet för resursadministration genom mekanismen resctrl. MPAM möjliggör mÀrkning av varje minnesaccess med en sektion-ID (PARTID, Partition ID) och en övervakningsgrupp-ID (PMG, Monitoring Group ID). I samband med PARTID kan resursanvÀndningen begrÀnsas, som minnesbandbredd eller cache-storlek, sÄ att en uppsÀttning uppgifter inte tar alla resurser. I övervakningssammanhang kan kombinationen av PMG och PARTID anvÀndas för att spÄra minnesresursanvÀndningen vid vissa belastningar.
- Tillagd möjlighet att anvÀnda realtidslÀget (PREEMPT_RT) pÄ 32-bitars ARM-processorer. Tidigare var stöd för PREEMPT_RT tillhandahÄllet för x86 och x86-64, ARM64, RISC-V och LoongArch.
- I systemanropet clone3() nya flaggor har lagts till: CLONE_NNP â förbud av att fĂ„ nya privilegier i den skapade processen; CLONE_AUTOREAP â automatisk avslutning av processen istĂ€llet för att omvandlas till en zombieprocess tills förĂ€ldraprocessens wait() funktion körs; CLONE_PIDFD_AUTOKILL â avslutning av den barnprocess som stĂ€ngs nĂ€r den relaterade pidfd-deskriptor stĂ€ngs (till exempel vid avslutning av förĂ€ldraprocessen).
- För varje kÀrnmodul har en fil import_ns lagts till i katalogen /sys/module, som innehÄller en lista över importerade symbolnamnomrÄden (symbolnamnomrÄde).
- I io_uring-systemet för asynkron in- och utdata har stöd lagts till för att anvÀnda BPF-undersystemet för att skapa hanterare. Till exempel kan huvuddispositionscykeln bytas ut mot ett BPF-program.
- I BPF-systemet moderniserad analys av stackanvÀndning, vilket avsevÀrt har snabbat verifieringsprocessen för mÄnga BPF-program.
- I syfte att optimera prestandan omskriven hrtimer-undersystemet (high resolution timer). SchemalÀggaren kan nu anvÀnda högupplösta timers utan att tappa prestanda istÀllet för mindre precisa timers.
- Fortsatt överföring av Ă€ndringar frĂ„n Rust-for-Linux-grenen, relaterade till anvĂ€ndningen av Rust som ett andra sprĂ„k för utveckling av drivrutiner och kĂ€rnmoduler (stöd för Rust Ă€r inte aktiverat som standard och leder inte till att Rust ingĂ„r som ett obligatoriskt byggberoende för kĂ€rnan). Fram till version 1.85 (som levereras med Debian 13) har kraven pĂ„ Rust-versionen som behövs för att bygga kĂ€rnkomponenter ökat. En experimentell Kconfig-alternativ CONFIG_RUST_INLINE_HELPERS har lagts till för att integrera C-skikt i Rust-kod under kompilering (optimiseringen snabbade upp null-blockdrivrutinen med 2%). En makro âconst_assert!â har lagts till. Möjligheterna för moduler som sizes, clk, ptr, sync, error har utvidgats.
- I mekanismen SCHED_EXT, vilket möjliggör anvÀndning av BPF för att skapa CPU-schemalÀggare, har lagts till den första möjligheten att skapa inbÀddade schemalÀggare (sub-schemalÀggare), sÄ att varje cgroup kan ha sin egen schemalÀggare.
- Optimeringen av byttesystemet (swap) har fortsatt. Den gamla strukturen swap_map har tagits bort och ersatts av mekanismen âSwap Tableâ. Ăndringen har förbĂ€ttrat prestandan och minskat minnesförbrukningen i byttesystemet.
- I undersystemet DAMON (Data Access MONitor), som möjliggör övervakning av processens Ätkomst till data i RAM (till exempel kan man ta reda pÄ vilka minnesomrÄden processen har anvÀnt, samt vilka minnesomrÄden som förblivit oanvÀnda), har lagts till stöd för olika algoritmer för automatisk justering av kvoter.
- I spÄrningssystemet har möjligheten konceptet med externa ringbuffertar som möjliggör att hÀmta spÄrningsdata frÄn virtuella maskiner. Funktionen Àr aktiverad i hypervisorer KVM och nVHE för att överföra spÄrningsdata frÄn gÀstsystemet till vÀrdsidan.
- I undersystemet RV (kernel.org) (Runtime Verification), avsedd för att verifiera korrektheten av mycket pÄlitliga system, har komponenter för övervakning "stall" för att spÄra uppgifter vars utförande har tillfÀlligt avbrutits eller blockerats, samt "deadline" för att analysera schemalÀggarens beteende.
Virtualisering och sÀkerhet
- Som standard Àr flaggan PROC_MEM_FORCE_PTRACE instÀlld, vilket tillÄter att kringgÄ ÄtkomstrÀttigheter till processens minne via filen /proc/PID/mem endast för processer som anvÀnder systemanropet ptrace() för att för felsökning.
- Tillagd en ny uppsÀttning hookar för LSM-moduler (Linux Security Module), som förenklar implementeringen av policyer för staplade filsystem, sÄsom overlayfs. I LSM finns Àven tillagd en hook för Ätkomsthantering av Unix-sockets, vilket aktiverad i LSM-modulen Landlock anvÀnds för att tilldela Ätkomstpolicyer till Unix-sockets.
- I den inbyggda kryptobiblioteket lib/crypto, som tillhandahÄller enklare och snabbare funktioner Àn i det traditionella kryptografiska API:et, har lagts till stöd för algoritmerna AES-CMAC, AES-XCBC-MAC, AES-CBC-MAC, GHASH och SM3. Lagts till dokumentation via lib/crypto.
- LÀget pKVM (Protected KVM) för strikt isolering av anonymt minne med anvÀndning av virtualiseringsutvidgningar för AArch64-arkitekturen. I detta lÀge utesluts gÀstens minnessidor frÄn vÀrdsystemets tabell över virtuella adresser.
- Stöd för femte versionen av den virtuella avbrottskontrollern ARM (VGICv5 â ARM Virtual Generic Interrupt Controller v5) har lagts till i KVM-hypervisorn.
NĂ€tverkssystemet
- För unix-sockets som skapas av funktionen socket(), har möjligheten stöd för utökade filattribut (xattr) user.*. AnvÀndningsomrÄden inkluderar mÀrkning genom utökade attribut till Unix-sockets som anvÀnds för IPC Varlink, för att sÀrskilja dem för inspektion och felsökning av IPC med hjÀlp av BPF-program. I systemd-journald avser man att anvÀnda utökade attribut för att definiera loggformatet kopplat till socketen /dev/log.
- Borttagen stöd för UDP-Lite-protokollet (RFC 3828), som möjliggör leverans av datapaket med felaktig kontrollsumma med tanke pÄ att, till exempel, delvis skadade ljud- och videodata kan ÄterstÀllas pÄ kodeksnivÄ. Protokollet har tagits bort eftersom det ingen anvÀnder.
- Borttagen möjligheten att bygga IPv6-stacken som en kÀrnmodul, vilket inte har anvÀnts i praktiken (IPv6 antingen inbyggs i kÀrnan eller stÀngs av helt), men vilket har komplicerat underhÄllet eftersom mÄnga subsystem tvingades lÀgga till onödiga hanterare ifall IPv6-modulen avlastades (CONFIG_IPV6=m).
Utrustning
- I AMDGPU-drivrutinen pÄslagen den nya displayermotorn (DC) för AMD APU-serien HD 7000 (Sea Islands, GCN 1.1).
- I Nouveau-drivrutinen har lagts till inledande stöd för NVIDIA GA100 GPU baserad pÄ Ampere-mikroarkitektur.
- Arbetet fortsÀtter med drm-drivrutinen (Direct Rendering Manager) Xe för GPU baserat pÄ Intel Xe-arkitektur, som anvÀnds i Intel Arc-grafikkort och integrerad grafik, frÄn processorerna Tiger Lake. Stöd för den grafiska subsystemen i Intel Nova Lake-P-processorer har lagts till. Implementerade rensningsbara buffertobjekt (Purgeable Buffer Objects).
- Fortsatt integration av komponenterna i Nova-drivrutinen för NVIDIA GPU med GSP-firmware, som anvÀnds frÄn NVIDIA GeForce RTX 2000-serien baserad pÄ Turing-mikroarkitektur. Drivrutinen Àr skriven i Rust. Inledande stöd för GPU baserade pÄ Turing-mikroarkitektur har lagts till.
- Tillagd DRM-drivrutin corebootdrm för utdata av grafik via framebuffer firmware baserad pÄ CoreBoot.
- Tillagd stöd för ljud ASoC AMD RPL DMIC, Cirrus Logic CS42L43, CS47L47, NVIDIA CPCAP och WM8962. FörbÀttrat stöd för ljudenheter med USB-grÀnssnitt: Huawei Headset, Focusrite Novation, MV-Silicon, Studio 1824, Arturia AF16Rig, Hotone Audio, Feaulle Rainbow, PreSonus AudioBox, Moondrop Ju Jiu, Scarlett 18i20.
- Tillagd yogafan-drivrutin för att övervaka flÀkthastigheten i bÀrbara datorer frÄn Lenovo Yoga, Legion och IdeaPad.
- Tillagd stöd för ARM-plattformar, SoC och enheter: Qualcomm Glymur, Qualcomm Mahua, Qualcomm Eliza, Qualcomm IPQ5210, Qualcomm apq8084 och ipq806x, Axis ARTPEC-9, ARM Zena, ARM corstone-1000-a320, Microchip LAN9691, Microchip PIC64GX, Rockchip RV1103B, Renesas RZ/G3L, NXP S32N79.
- Borttagen stöd för AHCI SATA och PCIe-kontroller som anvÀnds i Baikal-T1 SoC, samt drivrutiner för timer, minne, physmap, buss, hwmon, dwc och bt1-rom. Orsaken till borttagningen anges som brist pÄ underhÄll och ofullstÀndig integration av komponenterna i Baikal-plattformens kÀrna, vars produktion i Ryssland upphörde i november 2025.
- Borttagna 12 drivrutiner för Ethernet-enheter med ISA- och PCMCIA-grĂ€nssnitt som slĂ€pptes före 2002 och för vilka det inte fanns anvĂ€ndare som anvĂ€nde dem i arbetsystem. Ăven subsystemet har tagits bort frĂ„n kĂ€rnan. ISDN, implementering av protokoll AX.25, CAIF och Bluetooth CMTP (Common ISDN Application Programming Interface Message Transport Protocol), drivrutiner yellowfin (Yellowfin Gigabit-NIC), hamachi (Hamachi GNIC-II), hamradio (Amatörradio), inport och logibm (busmouse). Anledningen till borttagningen var avsaknaden av aktiva underhĂ„llare mot bakgrund av det ökande antalet fel som upptĂ€ckts med hjĂ€lp av syzbot och AI-verktyg, som ingen tar sig an att rĂ€tta till och allt ansvar för att lösa allvarliga problem faller pĂ„ dem som underhĂ„ller de grundlĂ€ggande nĂ€tverksundersystemen i kĂ€rnan. Totalt har mer Ă€n 140 000 kodrader tagits bort.
KĂ€lla: linux.org.ru
