Pas dy muaj zhvillimi, Linus Torvalds paraqiti lanson e kernelit Linux 6.0. Ndryshimi i madh i numrit të versionit është bërë për arsye estetike dhe është një hap formalisht që heq discomfort-in për shkak të akumuluar të një numri të madh lëshimesh në seri (Linus bëri shaka se arsyeja për ndryshimin e numrit të degës është se po i mbarojnë gishti në duar dhe këmbë për të numëruar numrat e versioneve). Në mesin e ndryshimeve më të dukshme janë: mbështetje për shkrimin e arsuetuar asinkron në XFS, drejtori bllokues ublk, optimizimi i planifikuesit të detyrave, mekanizmi i verifikimit të korrektësisë së kernelit, mbështetje për enkriptimin bllok ARIA.
Kryesore novacione në kernelin 6.0:
- Sistemi i disqeve, hyrja/ dalje dhe sistemet e skedarëve
- NĂ« sistemin e skedarĂ«ve XFS Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r shkrimin e arsuetuar asinkron duke pĂ«rdorur mekanizmin io_uring. Testet e performancĂ«s tĂ« kryera me ndihmĂ«n e instrumentit fio (1 rrjedhĂ«, madhĂ«sia e bllokut 4kB, 600 sekonda, shkrim sekuencial), tregojnĂ« njĂ« rritje tĂ« numrit tĂ« operacioneve tĂ« hyrjes/daljes pĂ«r sekondĂ« (IOPS) nga 77k nĂ« 209k, shpejtĂ«sinĂ« e transferimit tĂ« tĂ« dhĂ«nave â nga 314MB/s nĂ« 854MB/s dhe rĂ«nien e vonesave nga 9600ns nĂ« 120ns (80 herĂ«).
- Në sistemin e skedarëve Btrfs është implementuar versioni i dytë i protokollit për komandën "send", i cili implementon mbështetje për metadatat shtesë, dërgimin e të dhënave në blloqe më të mëdha (më shumë se 64K) dhe transmetimin e ekstentëve në formë të kompresuar. Performanca e operacioneve të leximit direkt (direct read) është rritur ndjeshëm (deri në 3 herë) për shkak të leximit të përbashkët deri në 256 sektorë. Konfliktet e bllokimeve janë reduktuar dhe kontrolli i metadatas është përshpejtuar për shkak të reduktimit të metadatave të rezervuara për elementet e vonuara.
- Në sistemin e skedarëve ext4 janë shtuar operacionet e reja ioctl-EXT4_IOC_GETFSUUID dhe EXT4_IC_SETFSUUID për nxjerrjen ose vendosjen e identifikuesit UUID, të ruajtur në superblok.
- Në sistemin e skedarëve F2FS është propozuar një mod i konsumit të ulët të memorie, që optimizon punën në pajisjet me një sasi të vogël RAM dhe lejon reduktimin e konsumit të memories në kosto të uljes së performancës.
- Shtuar mbështetje për autentikimin e pajisjeve NVMe.
- Në server NFSv4 është realizuar një kufi për numrin e klientëve aktivë, i cili përcaktohet si 1024 klientë të lejuar për çdo gigabajt RAM në sistem.
- Në realizimin e klientit CIFS është rritur performanca në modin e transmetimit të shumë-kanalshëm.
- Në sistemin e ndjekjes së ngjarjeve në FS fanotify është shtuar një flamur i ri FAN_MARK_IGNORE për të injoruar ngjarjet specifike.
- Në FS Overlayfs, gjatë montimit mbi FS me mapimin e identifikuesve të përdoruesve, është siguruar mbështetje e saktë për listat e kontrollit të qasjes në përputhje me POSIX.
- ĂshtĂ« shtuar njĂ« drejtues bllokesh ublk, i cili nxjerr logjikĂ«n specifike nĂ« procesin ndaj sfondit nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit dhe pĂ«rdor sistemin io_uring.
- Memorie dhe shërbime sistemike
- Në sistemin DAMON (Monitorimi i Qasjes në Të Dhëna) janë shtuar mundësi të reja, të cilat lejojnë jo vetëm ndjekjen e qasjes së proceseve në kujtesën e operativit nga hapësira e përdoruesit, por gjithashtu të ndikojnë në menaxhimin e kujtesës. Saktësisht, është propozuar një modul i ri 'LRU_SORT', që siguron ribashkimin e listave LRU (Më së Fundi të Përdorur) për të rritur prioritetin e disa faqeve të kujtesës.
- ĂshtĂ« realizuar mundĂ«sia pĂ«r krijimin e rajoneve tĂ« reja tĂ« kujtesĂ«s, duke pĂ«rdorur mundĂ«sitĂ« e autobusit CXL (Compute Express Link), i pĂ«rdorur pĂ«r organizimin e bashkĂ«punimit me shpejtĂ«si tĂ« lartĂ« midis CPU-sĂ« dhe njĂ«sive tĂ« kujtesĂ«s. CXL lejon lidhjen e rajoneve tĂ« reja tĂ« kujtesĂ«s, tĂ« ofruara nga pajisjet e jashtme tĂ« kujtesĂ«s, dhe t'i pĂ«rdorĂ« ato si resurse shtesĂ« tĂ« hapĂ«sirĂ«s fizike adresuese pĂ«r zgjerimin e kujtesĂ«s sistemike (DDR) ose kujtesĂ«s qĂ« ruhet (PMEM).
- Janë zgjidhur problemet me performancën e sistemeve me procesorë AMD Zen, të shkaktuara nga kodi i shtuar 20 vjet më parë për të anashkaluar një problem harduerik në disa chipset-e (ishte shtuar një udhëzim shtesë WAIT, që ngadalësonte procesorin në mënyrë që chipset-i të kishte kohë të kalonte në gjendjen e qetësisë). Ky ndryshim çonte në uljen e performancës në ngarkesa, ku ndodhin shpesh kalime midis gjendjeve të qetësisë (idle) dhe aktivitetit (busy). Për shembull, pas çaktivizimit të këtij manovri, mesatarja e rezultateve të testit tbench u rrit nga 32191 MB/s në 33805 MB/s.
- NĂ« planifikuesin e detyrave Ă«shtĂ« hequr kodi me heuristikĂ«n qĂ« siguron migracionin e proceseve nĂ« CPU me ngarkesĂ« mĂ« tĂ« ulĂ«t duke marrĂ« parasysh fitimin e parashikuar nĂ« konsumimin e energjisĂ«. Zhvilluesit arritĂ«n nĂ« pĂ«rfundimin se heuristika nuk ofron ndihmĂ« tĂ« madhe dhe Ă«shtĂ« mĂ« e lehtĂ« tĂ« hiqen proceset pa vlerĂ«sime shtesĂ« çdo herĂ« kur njĂ« transferim i tillĂ« mund tĂ« çojĂ« potencialisht nĂ« uljen e konsumit tĂ« energjisĂ« (pĂ«r shembull, kur CPU qĂ«llimor Ă«shtĂ« nĂ« njĂ« nivel me konsum mĂ« tĂ« ulĂ«t). Ăaktivizimi i heuristikĂ«s çoi nĂ« njĂ« ulje tĂ« konsumit tĂ« energjisĂ« gjatĂ« ekzekutimit tĂ« detyrave intensive, pĂ«r shembull, nĂ« testin me dekodimin e videos, konsumi i energjisĂ« u ul me 5.6%.
- është bërë optimizimi i shpërndarjes së detyrave në bërthamat e CPU në sisteme të mëdha, duke e lejuar rritjen e produktivitetit në disa lloje ngarkesash.
- Në ndërfaqen e inputit/zhvillimit asinkron io_uring është propozuar një flamur i ri IORING_RECV_MULTISHOT, që lejon përdorimin e modit "multi-shot" me thirrjen sistemike recv() për të kryer disa operacione të leximit nga një soket rrjetit në një herë. Në io_uring gjithashtu është realizuar mbështetje për transmetimin rrjetor pa buffer të ndërmjetëm (zero-copy).
- ĂshtĂ« realizuar mundĂ«sia e transferimit tĂ« programeve BPF, tĂ« lidhura me uprobe, nĂ« njĂ« gjendje gjumi. NĂ« BPF gjithashtu Ă«shtĂ« shtuar njĂ« iterues i ri ksym pĂ«r tĂ« punuar me tabelat e simboleve tĂ« bĂ«rthamĂ«s.
- është hequr ndërfaqja e vjetruar "efivars" në sysfs, e cila ishte e destinuar për qasjen në variablat e ngarkimit UEFI (për qasjen në të dhënat EFI tani përdoret gjerësisht sistemi virtual i skedarëve efivarfs).
- Në utilitarin perf janë realizuar raporte të reja për analizimin e konflikteve të bllokimit dhe kohës që kalon procesori për të ekzekutuar komponentët e bërthamës.
- është hequr konfigurimi CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3, i cili lejonte ndërtimin e bërthamës me nivelin e optimizimit "-O3". Vërehet se eksperimentet me modet e optimizimit mund të kryhen përmes kalimit të flamujve gjatë ndërtimit ("make KCFLAGS=-O3"), dhe për të shtuar konfigurimin në Kconfig kërkohet të sigurohet profilizimi i përsëritur i performancës, i cili tregon se zhvillimi i cikleve në modin "-O3" ofron përfitim krahas nivelit të optimizimit "-O2".
- Shtuar interfacinë debugfs për të marrë informacion mbi funksionimin e 'memory shrinker'-ave (menaxherët që thirren kur ka mungesë memorjeje dhe që paketojnë strukturat e të dhënave të bërthamës për të reduktuar konsumimin e tyre të memorjes).
- Për arkitekturën OpenRISC dhe LoongArch është implementuar mbështetje për busin PCI.
- Për arkitekturën RISC-V është realizuar zgjatimi 'Zicbom' për menaxhimin e pajisjeve me DMA, të cilat nuk janë në përputhje me cache-në (non-cache-coherent).
- Virtualizimi dhe siguria
- Shtuar mekanizmi i verifikimit RV (Verifikimi nĂ« KohĂ«) pĂ«r tĂ« kontrolluar saktĂ«sinĂ« e funksionimit nĂ« sisteme me besueshmĂ«ri tĂ« lartĂ«, qĂ« garantojnĂ« mungesĂ«n e defekteve. Kontrolli kryhet gjatĂ« ekzekutimit pĂ«rmes lidhjes sĂ« menaxherĂ«ve me pika gjurmimi, tĂ« cilat krahasojnĂ« rrjedhĂ«n e realitetit tĂ« ekzekutimit me njĂ« model tĂ« pĂ«rcaktuar paraprakisht tĂ« automatit, i cili pĂ«rcakton sjelljen e pritur tĂ« sistemit. Krahasimi me modelin gjatĂ« ekzekutimit pozicionohet si njĂ« mĂ«nyrĂ« mĂ« e lehtĂ« dhe e thjeshtĂ« pĂ«r tâu zbatuar nĂ« praktikĂ« pĂ«r tĂ« konfirmuar saktĂ«sinĂ« e ekzekutimit nĂ« sisteme kritikisht tĂ« rĂ«ndĂ«sishme, duke plotĂ«suar metodat klasike tĂ« konfirmimit tĂ« besueshmĂ«risĂ«. NjĂ« nga avantazhet e RV Ă«shtĂ« mundĂ«sia pĂ«r tĂ« siguruar verifikim tĂ« ngurtĂ« pa zbatuar tĂ« gjithĂ« sistemin nĂ« njĂ« gjuhĂ« modelimi, si dhe reagim tĂ« fleksibilizuar ndaj ngjarjeve tĂ« paparashikuara.
- Integruar komponentët e bërthamës për menaxhimin e enklavave mbi bazën e teknologjisë Intel SGX2 (Software Guard eXtensions), e cila lejon aplikacioneve të ekzekutojnë kodin në zona të izoluara dhe të enkriptuara të memorjes, ku aksesin e sistemin e mbetur është i kufizuar. Teknologjia Intel SGX2 mbështetet në çipat Intel Ice Lake dhe Gemini Lake dhe dallohet nga Intel SGX1 përmes instrukcioneve të rajave për menaxhimin dinamik të memorjes së enklavave.
- Për arkitekturën x86 është realizuar mundësia për të transmetuar farën për gjeneratorin e numrave të rastit përmes configurimeve të bootloader-it.
- Në modulin LSM SafeSetID është shtuar mundësia për të menaxhuar ndryshimet e bëra përmes thirrjes setgroups(). SafeSetID u lejon shërbimeve sistemike të menaxhojnë sigurt përdoruesit pa rritur privilegjet (CAP_SETUID) dhe pa marrë autorizimet e përdoruesit root.
- Shtuar mbështetje për algoritmin e enkriptimit ARIA.
- Në modulin e menaxhimit të sigurisë mbi bazën e BPF është realizuar mundësia për të lidhur menaxherët me procese të veçanta dhe grupe procesesh (cgroup).
- ĂshtĂ« shtuar mekanizmi me realizimin e watchdog pĂ«r tĂ« pĂ«rcaktuar ngjarjet e sistemit mysafir duke u bazuar nĂ« monitorimin e aktivitetit tĂ« vCPU.
- Sistemi rrjetor
- NĂ« nĂ«n-sistemin BPF janĂ« shtuar trajtues pĂ«r gjenerimin dhe verifikimin e SYN cookies. ĂshtĂ« shtuar gjithashtu njĂ« grup funksionesh (kfunc) pĂ«r qasje dhe ndryshim tĂ« gjendjes sĂ« lidhjeve.
- Në grafikën pa kabllo është shtuar mbështetje për mekanizmin MLO (Multi-Link Operation), i përcaktuar në specifikimin WiFi 7, i cili lejon pajisjet të marrin dhe dërgojnë të dhëna njëkohësisht duke përdorur frekuenca dhe kanale të ndryshme, për shembull, për të vendosur disa kanale komunikimi mes pikës së qasjes dhe pajisjes klient.
- ĂshtĂ« rritur performanca e implementimit tĂ« protokollit TLS tĂ« integruar nĂ« bĂ«rthamĂ«.
- ĂshtĂ« shtuar parametri i linjĂ«s sĂ« komandave tĂ« bĂ«rthamĂ«s "hostname=", qĂ« lejon caktimin e emrit tĂ« hostit nĂ« fazĂ«n e hershme tĂ« ngarkimit, pĂ«rpara se komponentĂ«t e hapĂ«sirĂ«s sĂ« pĂ«rdoruesit tĂ« startohen.
- Pajisje
- NĂ« drejtuesin i915 (Intel) Ă«shtĂ« siguruar mbĂ«shtetje pĂ«r kartat grafike tĂ« dedikuara Intel Arc (DG2/Alchemist) A750 dhe A770. ĂshtĂ« ofruar njĂ« implementim fillestar i mbĂ«shtetjes pĂ«r GPU Intel Ponte Vecchio (Xe-HPC) dhe Meteor Lake. ĂshtĂ« vazhduar puna pĂ«r mbĂ«shtetje tĂ« platformĂ«s Intel Raptor Lake.
- Në drejtuesin amdgpu është vazhduar puna për të siguruar mbështetje për platformat AMD RDNA3 (RX 7000) dhe CDNA (Instinct).
- Në drejtuesin Nouveau është riparuar kodi i mbështetjes për motorët e ekranit GPU NVIDIA nv50.
- ĂshtĂ« shtuar njĂ« drejtues i ri DRM logicvc pĂ«r ekranet LogiCVC.
- Në drejtuesin v3d (për GPU Broadcom Video Core) është realizuar mbështetje për kartat Raspberry Pi 4.
- Në drejtuesin msm është shtuar mbështetje për GPU Qualcomm Adreno 619.
- Në drejtuesin Panfrost është shtuar mbështetje për GPU ARM Mali Valhall.
- ĂshtĂ« shtuar mbĂ«shtetje fillestare pĂ«r procesorĂ«t Qualcomm Snapdragon 8cx Gen3, tĂ« pĂ«rdorur nĂ« laptopĂ«t Lenovo ThinkPad X13s.
- Janë shtuar drejtues të zërit për platformat AMD Raphael (Ryzen 7000), AMD Jadeite, Intel Meteor Lake dhe Mediatek MT8186.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r akceleratorĂ«t e sistemeve tĂ« mĂ«simit nĂ« Intel Habana Gaudi 2.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r ARM SoC Allwinner H616, NXP i.MX93, Sunplus SP7021, Nuvoton NPCM8XX, Marvell Prestera 98DX2530 dhe Google Chameleon v3.
NĂ« tĂ« njĂ«jtĂ«n kohĂ«, Fondi Latin Amerikan i Softuerit tĂ« LirĂ« ka formuar variantin e plotĂ« tĂ« lirĂ« tĂ« kernelit 6.0 â Linux-libre 6.0-gnu, i pastruar nga elementĂ«t e firmware-it dhe drejtorĂ«ve qĂ« pĂ«rmbajnĂ« komponente ose kode tĂ« pa-lira, tĂ« cilat janĂ« tĂ« kufizuara nga prodhuesi. NĂ« kĂ«tĂ« version tĂ« ri, Ă«shtĂ« ndaluar pĂ«rdorimi i blob-ave nĂ« drejtorin CS35L41 HD-audio dhe nĂ« drejtorin me ndĂ«rfaqen UCSI pĂ«r mikro-kontrollerĂ«t STM32G0. JanĂ« pastruar skedarĂ«t dts pĂ«r çipat Qualcomm dhe MediaTek. Rregullimi i ndalimit tĂ« blob-ave nĂ« drejtorin MediaTek MT76 Ă«shtĂ« rindĂ«rtuar. Kodi i pastrimit tĂ« blob-ave nĂ« drejtorĂ«t dhe nĂ«n-sistemet AMDGPU, Adreno, Tegra VIC, Netronome NFP dhe Habanalabs Gaudi2 Ă«shtĂ« azhurnuar. Pastrimi i drejtorit VXGE Ă«shtĂ« ndalur, i cili Ă«shtĂ« hequr nga kernel-i.
Burimi: opennet.ru
