Pas dy muaj zhvillimi, Linus Torvalds pĂ«rfaqĂ«soi lĂ«shimin e bĂ«rthamĂ«s Linux 7.1. Nga ndryshimet mĂ« tĂ« spikatura: drejtuesi i ri ntfsplus, faza e parĂ« e ndalimit tĂ« mbĂ«shtetjes pĂ«r CPU i486, heqja e adapterĂ«ve tĂ« vjetĂ«r Ethernet, heqja e protokolleve ISDN dhe AX.25, pĂ«rfshirja nĂ« mĂ«nyrĂ« tĂ« paracaktuar e mekanizmit Intel FRED, mbĂ«shtetje pĂ«r pĂ«rpunuesit BPF nĂ« io_uring, optimizimi i nĂ«nstrukturĂ«s sĂ« swapping, mbĂ«shtetje pĂ«r nĂ«n-planifikuesit nĂ« sched_ext, I/O nĂ« modalitetin zero-copy nĂ« drejtuesin ublk, operacioni ioctl âshutdownâ nĂ« Btrfs, kalimi dinamik i modit tĂ« performancĂ«s nĂ« drejtuesin amd-pstate, mbĂ«shtetje pĂ«r xattr pĂ«r soketat Unix.
Në versionin e ri janë pranuar 17275 korrigjime nga 2589 zhvillues,
mënyra e patch-it është 57 MB (ndryshimet preken 13528 skedarë, 751785 rreshta kod janë shtuar, 405916 rreshta janë fshirë). Në lëshimin e kaluar kishte 15624 korrigjime nga 2477 zhvillues, madhësia e patch-it ishte 56 MB. Rreth 41% e të gjitha ndryshimeve të paraqitura në 7.1 lidhen me drejtuesit e pajisjeve, rreth 12% e ndryshimeve kanë të bëjnë me përmirësimin e kodit të veçantë për arkitekturat harduerike, 14% lidhen me pilafët e rrjetit, 5% me sistemet e skedave dhe 3% me nënstruktura të brendshme të bërthamës.
Novitetet kryesore në bërthamën 7.1 (1, 2, 3):
- Sistemi i disqeve, hyrja/ dalje dhe sistemet e skedarëve
- Në përbërje është pranuar një implementim i ri i sistemit të skedarëve NTFS - ntfsplus, i bazuar në kodin e larguar nga bërthama e drejtuesit klasik ntfs. Drejtuesi i vjetër u rregullua, u zgjerua me mundësinë e shkruarjes së të dhënave dhe u adaptua për të mbështetur mundësitë moderne, siç është përdorimi i folieve të faqeve të memories (folios) në vend të strukturës buffer_head. Në drejtuesin e ri është realizuar ndarja e vonuar e blloqeve, e cila ka lejuar arritjen e performancës së lartë të operacioneve të shkruarjes dhe të reduktimit të fragmentimit. Për operacionet e shkruarjes/leximit të bufferizuara, hyrjen/ Daljen e drejtpërdrejtë, mapimin e ekstentëve dhe operacionet e shkruarjes/leximit të faqeve është përdorur biblioteka iomap. Në testet iozone, drejtuesi ntfsplus doli 3-5% më i shpejtë se ntfs3 gjatë shkruarjes në një modalitet një-thread dhe 35-110% gjatë përdorimit të 4 proceseve. Shpejtësia e leximit të ntfsplus dhe ntfs3 është afërsisht në të njëjtin nivel. Drejtuesi ntfs3 mbetet në përbërje të bërthamës dhe në të janë bërë korrigjime dhe përmirësime të vogla.
- Shtuar mbështetje për gjenerimin dhe verifikimin e të dhënave të kontrollit të integritetit T10 në nivelin e sistemit të skedarëve, në vend të pajisjes bllok, e cila lejon rritjen e performancës së operacionëve të leximit.
- Në drejtuesin e pajisjeve bllok ublk, i cili lejon përcjelljen e logjikës specifike në anën e procesit në hapësirën e përdoruesit, është shtuar mbështetje për hyrje/dalje përmes memories së ndarë pa kopjimin e të dhënave midis buferave (modaliteti zero-copy).
- Për pajisjet bllok vetë-enkriptuese SED-OPAL janë shtuar ioctl për menaxhimin e modalitetit Single User dhe është realizuar komanda STACK_RESET.
- Në Btrfs është shpallur mbështetje e stabilizuar për operacionin ioctl "shutdown", që lejon kalimin e sistemit të skedarëve në një gjendje, ku përpiqet të përfundojë operacionet e nisura, por bllokon të gjitha operacionet e reja.
- Në exfat është realizuar mundësia e rezervimit të zonave të lira përmes thirrjes fallocate().
- Në sistemin e skedarëve CIFS është shtuar mbështetje për krijimin e skedarëve të përkohshëm me flamurin O_TMPFILE.
- Në Thirrjen e sistemit fsmount() është shtuar opsioni FSMOUNT_NAMESPACE, që krijon një hapësirë të re emri për pikat e montimit të sistemit të skedarëve. Në thirrjet sistemet clone3() dhe unshare() janë shtuar flamuj për kthimin e hapësirës së re të emrave të pikave të montimit, që përmban vetëm një sistem të skedarëve të zbrazët të montuar, bazuar në nullfs, drejtuesi fs-dax me ndërfaqen e sistemit të skedarëve për pajisjet DAX (Qasje E Drejtpërdrejtë).
- Në serverin NFS është shtuar mbrojtja nga sulmet e përzgjedhjes së skedarëve të përshkrimeve, e realizuar përmes nënshkrimit të përshkrimeve me nënshkrim kriptografik. Mbrojtja aktivizohet përmes opsionit të montimit sign_fh.
- ĂshtĂ« shtuar drejtuesi simbolik fs-dax, qĂ« ofron njĂ« ndĂ«rfaqe pĂ«r ndĂ«rveprimin me pajisjet DAX (Qasje E DrejtpĂ«rdrejtĂ«), qĂ« mbĂ«shtesin punĂ«n pa pashallĂ«k tĂ« faqeve tĂ« memorjes. Kjo ndĂ«rfaqe Ă«shtĂ« e nevojshme pĂ«r integrimin nĂ« bĂ«rthamĂ«n e sistemit tĂ« skedarĂ«ve famfs, e vendosur nĂ« memorjen e aksesueshme.
- Në sistemin e skedarëve Ceph është realizuar mbledhja e metrikave për hyrje/dalje në lidhje me nënseksionet.
- Memorie dhe shërbime sistemike
- Seria e parë e ndryshimeve për ndalimin e mbështetjes për procesorët i486 është pranuar. Opsionet për ndërtimin e bërthamës me mbështetje për procesorët 486DX, 486SX dhe AMD ELAN (CONFIG_M486, CONFIG_M486SX dhe CONFIG_MELAN) janë hequr nga Kconfig, ndërsa opsionet për kompilim për sistemet i486 janë përjashtuar nga Makefile (-march=i486). Kodi për mbështetje reale në procesorët i486 është lënë ende në bërthamë, por ndërtimi për këto sisteme tani do të kërkojë aplikimin e patch-eve në skedarët e ndërtimit. Arsyet për heqjen e mbështetjes për procesorët i486 lidhen me dëshirën për të hequr nga bërthama kodin e komplikuar që imiton disa operacione harduerike, si CX8 (krahaso dhe shkëmbe 8 bajta) dhe TSC (numri i cikleve të CPU-së, i përdorur në planifikuesin e detyrave).
- NĂ« drejtuesin amd-pstate, i pĂ«rdorur pĂ«r menaxhimin e konsumit tĂ« energjisĂ« nĂ« sistemet me procesorĂ« AMD, Ă«shtĂ« zbatua kalimi dinamik i vendosjeve tĂ« performancĂ«s dhe ndryshimi i sjelljes sĂ« menaxhimit tĂ« energjisĂ« nĂ« varĂ«si tĂ« funksionimit nga energjia e rrymĂ«s ose nga bateritĂ«. Kur Ă«shtĂ« e lidhur me energjinĂ« e rrymĂ«s, tani aktivizohet moda "performance", dhe kur punon nga bateria â "balance_performance."
- Mekanizmi Intel FRED (Flexible Return and Event Delivery) Ă«shtĂ« aktivizuar si parazgjedhje, duke lejuar rritjen e efikasitetit dhe besueshmĂ«risĂ« sĂ« dorĂ«zimit tĂ« informacionit pĂ«r ngjarjet e nivelit tĂ« ulĂ«t. Rritja e performancĂ«s dhe ulja e vonesave sigurohen pĂ«rmes kthimit tĂ« ngjarjeve duke pĂ«rdorur instruktionen e procesorit IRET, nĂ« vend qĂ« tâi dĂ«rgohen ngjarjet pĂ«rmes tabelĂ«s IDT (Interrupt Descriptor Table). Rritja e besueshmĂ«risĂ« arrihet pĂ«rmes pĂ«rpunimit tĂ« veçantĂ« tĂ« pranishmĂ«risĂ« sĂ« ngjarjeve nĂ« kontekstin e bĂ«rthames dhe kontekstin e pĂ«rdoruesit, mbrojtjes nga ekzekutimi i brendshĂ«m NMI dhe ruajtjes nĂ« çarçafin e zgjeruar tĂ« stack-ut tĂ« tĂ« gjitha regjistrave tĂ« CPU-sĂ« qĂ« lidhen me pĂ«rjashtimin.
- NĂ« nĂ«n-sistemin perf Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r blloqet e monitorimit tĂ« performancĂ«s sĂ« memories (PMU â Performance Monitoring Unit), tĂ« pĂ«rdorura nĂ« SoC NVIDIA Tegra410.
- Ekzekutimi i operacioneve futex nĂ« sistemet ARM Ă«shtĂ« pĂ«rshpejtuar, falĂ« pĂ«rdorimit tĂ« instrukcioneve Arm 9.6 LSUI, qĂ« i lejojnĂ« bĂ«rthamĂ«s tâi qaset memories sĂ« hapĂ«sirĂ«s sĂ« pĂ«rdoruesit pa shkyçur paraprakisht modin e mbrojtjes PAN (Privileged Access Never).
- Në sistemet me procesorë ARM është përmirësuar mbështetje për zgjerimin e arkitekturës së grupit të komandave MPAM (Memoria Sistemike e Burimeve të Shkallëzimit dhe Monitorimit) dhe është shtuar mundësia e përdorimit të saj në hapësirën e përdoruesit për menaxhimin e burimeve përmes mekanizmit resctrl. MPAM siguron etiketimin e çdo qasjeje në memorie me një identifikues të seksionit (PARTID, Partition ID) dhe një identifikues grupi monitorimi (PMG, Monitoring Group ID). Në lidhje me PARTID mund të kufizohet konsumi i burimeve, siç janë kapaciteti i memories ose madhësia e caches, në mënyrë që një grup detyrash të mos zërë të gjitha burimet. Në kontekstin e monitorimit, kombinimi i PMG dhe PARTID mund të përdoret për të ndjekur konsumimin e burimeve të memories gjatë llojeve të caktuara të ngarkesave.
- ĂshtĂ« shtuar mundĂ«sia e pĂ«rdorimit tĂ« modit tĂ« kohĂ«s reale (PREEMPT_RT) nĂ« procesorĂ«t 32-bit ARM. MĂ« parĂ«, mbĂ«shtetje pĂ«r PREEMPT_RT ishte siguruar pĂ«r arkitekturat x86 dhe x86-64, ARM64, RISC-V dhe LoongArch.
- NĂ« thirrjen sistemike clone3() janĂ« shtuar flamuj tĂ« rinj: CLONE_NNP â ndalimi i fitimit tĂ« privilegjeve tĂ« reja nĂ« procesin e krijuar; CLONE_AUTOREAP â pĂ«rfundimi automatik i procesit nĂ« vend tĂ« shndĂ«rrimit nĂ« njĂ« proces-zombi deri nĂ« ekzekutimin e funksionit wait() nga procesi prind;
CLONE_PIDFD_AUTOKILL â pĂ«rfundimi i procesit djalĂ« nĂ« rast se mbyllet deshifruesi i lidhur me tĂ« pidfd (p.sh., kur pĂ«rfundon procesi prind). - PĂ«r çdo modul tĂ« bĂ«rthamĂ«s nĂ« katalogun /sys/module Ă«shtĂ« shtuar njĂ« skedĂ« import_ns, e cila pĂ«rmban njĂ« listĂ« tĂ« hapĂ«sirave tĂ« emrave tĂ« simboleve tĂ« importuara (symbol namespace).
- Në sistemin e Input/Output asinkron io_uring është shtuar mbështetje për përdorimin e nënstrukturës BPF për të krijuar trajtues. Për shembull, mund të zëvendësohet cikli kryesor i shpërndarjes me një program BPF.
- Në nënstrukturën BPF është modernizuar analiza e përdorimit të stack-ut, e cila ka përshpejtuar ndjeshëm verifikimin nga verifikuesi i shumë BPF programeve.
- Me qëllim optimizimin e performancës, është riparaqitur nënstruktura hrtimer (timer me qëllim të lartë). Planifikuesi i detyrave tani mund të përdorë timerë me saktësi të lartë pa humbje të performancës në vend të timerave më pak të saktë.
- TĂ« gjitha ndryshimet nga dega Rust-for-Linux, qĂ« lidhen me pĂ«rdorimin e gjuhĂ«s Rust si gjuhĂ« e dytĂ« pĂ«r zhvillimin e shoferĂ«ve dhe moduleve tĂ« bĂ«rthamĂ«s (mbĂ«shtetje pĂ«r Rust nuk Ă«shtĂ« e aktivizuar nga default, dhe nuk çon nĂ« pĂ«rfshirjen e Rust si njĂ« varĂ«si e detyrueshme pĂ«r ndĂ«rtimin e bĂ«rthamĂ«s), vazhduan. Para versionit 1.85 (qĂ« vjen me Debian 13) kĂ«rkesat pĂ«r versionin e Rust, tĂ« nevojshĂ«m pĂ«r ndĂ«rtimin e komponentĂ«ve tĂ« bĂ«rthamĂ«s janĂ« pĂ«rmirĂ«suar. ĂshtĂ« shtuar njĂ« opsion eksperimental nĂ« Kconfig: CONFIG_RUST_INLINE_HELPERS pĂ«r pĂ«rfshirjen e skedarĂ«ve C nĂ« kodin Rust gjatĂ« kompilimit (optimizimi pĂ«rmirĂ«soi performancĂ«n e shoferit null blok me 2%). ĂshtĂ« shtuar makroja 'const_assert!'. JanĂ« zgjeruar mundĂ«sitĂ« e moduleve 'sizes', 'clk', 'ptr', 'sync', 'error'.
- Mekanizmi SCHED_EXT, që lejon përdorimin e BPF për krijimin e planifikuesve të CPU-ve, mori një mundësi fillestare për krijimin e planifikuesve të nënshkallëzuar (sub-scheduler), përmes të cilëve për çdo cgroup mund të aktivizohet një planifikues detyrash i veçantë.
- Optimizimi i nën-sistemit të swap-it vazhdoi. Struktura e vjetër swap_map u eliminua dhe u zëvendësua me mekanizmin 'Swap Table'. Ky ndryshim në përmirësimin e performancës dhe reduktimin e konsumit të memories në nën-sistemin e swap-it.
- Në nën-sistemin DAMON (Data Access MONitor), që lejon të monitorohet aksesimi i procesit në të dhënat në memorien RAM (p.sh., mund të zbulohet se në cilat zona të memories ka kërkuar procesi, dhe cilat zona ka mbetur të papërdorura), është shtuar mbështetje për algoritme të ndryshme të automatik të rregullimit të kuotave.
- Në nën-sistemin e gjurmimit është realizuar koncepti i bufeve ring ekstern, që lejon marrjen e të dhënave të gjurmimit nga makinat virtuale. Kjo mundësi është aktive në hipervizorë KVM dhe nVHE për të transmetuar të dhënat e gjurmimit nga sistemi mysafir në anën e hostit.
- Në nën-sistemin RV (Runtime Verification), që është krijuar për të verifikuar saktësinë e funksionimit të sistemeve me besueshmëri të lartë, janë shtuar komponentët e monitorimit 'stall' për ndjekjen e detyrave, realizimi i të cilave është ndalur përkohësisht ose bllokuar, dhe 'deadline' për analizimin e sjelljes së planifikuesit të detyrave.
- Virtualizimi dhe siguria
- Si parazgjedhje është vënë flag-u PROC_MEM_FORCE_PTRACE, që lejon kalimin mbi të drejtat e aksesit në memorien e procesit përmes skedarit /proc/PID/mem vetëm për proceset që përdorin thirrjen sistemike ptrace() për depurimin.
- U shtua një set i ri hook-ësh për modulët LSM (Linux Security Module), që lehtëson zbatimin e politikave për sistemet e skedarëve me shtresim, si overlayfs. Në LSM është shtuar gjithashtu një hook për menaxhimin e qasjes në soketat Unix, e cila përdoret në modulin LSM Landlock për të caktuar politikën e qasjes në soketat Unix.
- Në bibliotekën e kriptografisë të integruar lib/crypto, e cila ofron funksione më të thjeshta dhe më të shpejta se sa API tradicionale e kriptografisë, është shtuar mbështetje për algoritmet AES-CMAC, AES-XCBC-MAC, AES-CBC-MAC, GHASH dhe SM3. Dokumentacioni për lib/crypto është gjithashtu shtuar.
- ĂshtĂ« realizuar njĂ« mod pĂ«r pKVM (Protected KVM) pĂ«r izolimin fqinj tĂ« memories anonime duke pĂ«rdorur zgjerime virtualizimi pĂ«r arkitekturĂ«n AArch64. NĂ« kĂ«tĂ« mod, faqet e memories sĂ« mysafirit pĂ«rjashtohen nga tabela e adresave virtuale tĂ« sistemit host.
- Në hipervizorin KVM është shtuar mbështetje për versionin e pestë të kontrolluesit virtual të ndërprerjeve ARM (VGICv5 - ARM Virtual Generic Interrupt Controller v5).
- Sistemi rrjetor
- Për soketat unix, që krijohen me funksionin socket(), është realizuar mbështetje për atributet e zgjeruara të skedarëve (xattr) «user.*». Nga aplikimet, përmendet caktimi i etikave përmes atributeve të zgjeruara në soketat Unix, që përdoren për IPC Varlink, për t'i renditur ato nga masa e përgjithshme për inspektimin dhe diagnostikimin e punës IPC me ndihmën e programeve BPF. Në systemd-journald, atributet e zgjeruara janë të destinuara për të përcaktuar formatin e log-ut në lidhje me soketin /dev/log.
- ĂshtĂ« hequr mbĂ«shtetja pĂ«r protokollin UDP-Lite (RFC 3828), qĂ« lejon dĂ«rgimin e paketimeve me kontroll tĂ« gabuar pĂ«rsa i pĂ«rket kontrollit, me shpresĂ«n se, pĂ«r shembull, tĂ« dhĂ«nat audio dhe video tĂ« shqyrtuara mund tĂ« rikuperohen nĂ« nivelin e kodekĂ«ve. Protokolli Ă«shtĂ« hequr pasi askush nuk e pĂ«rdor.
- ĂshtĂ« eliminuar mundĂ«sia e ndĂ«rtimit tĂ« grumbullit IPv6 si njĂ« modul bĂ«rthamor, qĂ« nuk Ă«shtĂ« pĂ«rdorur nĂ« praktikĂ« (IPv6 ose pĂ«rfshihet nĂ« bĂ«rthamĂ«, ose Ă«shtĂ« ndaluar plotĂ«sisht), por e ka komplikuar mbĂ«shtetje pĂ«r shkak se, kur ndĂ«rtimi i IPv6 si modul bĂ«rthamor (CONFIG_IPV6=m), shumĂ« nĂ«n-sisteme janĂ« detyruar tĂ« shtojnĂ« trajtues tĂ« panevojshĂ«m pĂ«r rastin e shkarkimit tĂ« modulit IPv6.
- Pajisje
- Në drejtuesin AMDGPU është integruar një motor i ri i ekranit (DC) për APU-të AMD të serisë HD 7000 (Sea Islands, GCN 1.1).
- Në drejtuesin Nouveau është shtuar mbështetje fillestare për GPU-në NVIDIA GA100 të bazuar në mikroarkitekturën Ampere.
- Përparimi i punës mbi drjverin drm (Direct Rendering Manager) Xe për GPU-të e bazuara në arkitekturën Intel Xe, e cila përdoret në kartat grafike Intel të familjes Arc dhe në grafikat e integruara, duke filluar nga procesorët Tiger Lake. Mundësia e suportit për sistemin grafik të procesorëve Intel Nova Lake-P është shtuar. Objektet e buffers të pastrueshme (Purgeable Buffer Objects) janë implementuar.
- ĂshtĂ« vazhduar integrimi i komponentĂ«ve tĂ« drejtuesit Nova pĂ«r GPU NVIDIA me firmware GSP, tĂ« pĂ«rdorur duke filluar nga seria NVIDIA GeForce RTX 2000 e bazuar nĂ« mikroarkitekturĂ«n Turing. Drejtuesi Ă«shtĂ« shkruar nĂ« gjuhĂ«n Rust. ĂshtĂ« shtuar mbĂ«shtetja fillestare pĂ«r GPU tĂ« bazuara nĂ« mikroarkitekturĂ«n Turing.
- Drjveri DRM corebootdrm është shtuar për daljen e grafikës përmes framebuferëve të firmware-ve të bazuara në CoreBoot.
- Shtuar mbështetje për audion ASoC AMD RPL DMIC, Cirrus Logic CS42L43, CS47L47, NVIDIA CPCAP dhe WM8962. Përmirësuar mbështetje për pajisjet audio me ndërfaqe USB: Huawei Headset, Focusrite Novation, MV-Silicon, Studio 1824, Arturia AF16Rig, Hotone Audio, Feaulle Rainbow,
PreSonus AudioBox, Moondrop Ju Jiu, Scarlett 18i20. - Drjveri yogafan është shtuar për të ndjekur shpejtësinë e rrotullimit të ventilatorit në laptopët Lenovo Yoga, Legion dhe IdeaPad.
- Shtuar mbështetje për platformat ARM, SoC dhe pajisjet: Qualcomm Glymur, Qualcomm Mahua, Qualcomm Eliza, Qualcomm IPQ5210, Qualcomm apq8084 dhe ipq806x, Axis ARTPEC-9, ARM Zena, ARM corstone-1000-a320, Microchip LAN9691, Microchip PIC64GX, Rockchip RV1103B, Renesas RZ/G3L, NXP S32N79.
- Mbështetja për kontrollet AHCI SATA dhe PCIe të përdorura në SoC Baikal-T1, si dhe drjverët për timer, memorie, physmap, autobus, hwmon, dwc dhe bt1-rom, është hequr. Arsyet e heqjes përmenden si mungesa e mbështetjes dhe integrimi i papërfunduar i komponentëve të platformës Baikal në bërthamën e saj, e cila u ndal në RUS në nëntor 2025.
- Janë hequr 12 drjverë për pajisje Ethernet me ndërfaqe ISA dhe PCMCIA, të prodhuar para vitit 2002, për të cilat nuk ka pasur përdorues që i aplikonin në sistemet e tyre të punës. Gjithashtu, nga bërthama janë eliminuar
sistemi ISDN, implementimet e protokolleve AX.25, CAIF dhe Bluetooth CMTP (Common ISDN Application Programming Interface Message Transport Protocol), drjverët yellowfin (Yellowfin Gigabit-NIC), hamachi (Hamachi GNIC-II), hamradio (Radio Amatore), inport dhe logibm (busmouse). Arsyet e heqjes kanë qenë mungesa e mbajtësve aktivë, përballë një rritjeje në numrin e gabimeve të identifikuara me ndihmën e syzbot dhe mjeteve AI, të cilat askush nuk ka marrë përsipër t'i rregullojë dhe gjithë ngarkesa për zgjidhjen e problemeve serioze është vendosur mbi ata që mbikëqyrin nënshkrimet kryesore të sistemit të rrjetit të bërthamës. Në total janë hequr më shumë se 140 mijë rreshta kodi.
Burimi: opennet.ru
