Pas dy muajsh zhvillimi, Linus Torvalds prezantoi lëshimin e kernelit Linux 6.7. Ndër ndryshimet më të dukshme: integrimi i FS Bcachefs, ndalimi i mbështetjes për arkitekturën Itanium, mundësia e funksionimit të Nouvea me firmware GSP-R, mbështetje për TLS-enkriptimin në NVMe-TCP, mundësia e përdorimit të përjashtimeve në BPF, mbështetje për futex në io_uring, optimizimi i performancës së planifikuesit fq (Fair Queuing), mbështetje për zgjerimin TCP-AO (TCP Authentication Option) dhe mundësia për të kufizuar lidhjet rrjet në mekanizmin e mbrojtjes Landlock, si dhe është shtuar menaxhimi i qasjes në user namespace dhe io_uring përmes AppArmor.
Në versionin e ri janë pranuar 18405 korrigjime nga 2066 zhvillues, madhësia e patch-it është 72 MB (ndryshimet përfshinë 13467 skedare, shtuar 906147 linja kodi, fshirë 341048 linja). Në lëshimin e kaluar kishte 15291 korrigjime nga 2058 zhvillues, madhësia e patch-it ishte 39 MB. Rreth 45% e të gjitha ndryshimeve të prezantuara në 6.7 lidhen me drejtuesit e pajisjeve, afërsisht 14% e ndryshimeve kanë të bëjnë me përditësimin e kodit të veçantë për arkitekturën harduerike, 13% lidhen me grilimin rrjet, 5% me sistemet e skedave dhe 3% me nën-sistemet e brendshme të kernelit.
Kryesoret e reja në kernelin 6.7:
- Sistemi i diskut, hyrja/ dalje dhe sistemet e skedarëve
- NĂ« bĂ«rthamĂ«n e saj Ă«shtĂ« pranuar kodi i sistemit tĂ« skedarĂ«ve Bcachefs, nĂ« tĂ« cilin Ă«shtĂ« bĂ«rĂ« njĂ« pĂ«rpjekje pĂ«r tĂ« arritur njĂ« nivel performancĂ«, besueshmĂ«rie dhe shkallĂ«zueshmĂ«rie qĂ« i pĂ«rgjigjet XFS, nĂ« kombinim me elemente tĂ« funksionaliteteve tĂ« avancuara qĂ« janĂ« tĂ« pranishme nĂ« Btrfs dhe ZFS. PĂ«r shembull, Bcachefs mbĂ«shtet mundĂ«si tĂ« tilla si pĂ«rfshirja nĂ« ndarje tĂ« disa pajisjeve, skemĂ« tĂ« shumĂ«fishtĂ« tĂ« grumbullimit tĂ« skedarĂ«ve (niveli i poshtĂ«m me tĂ« dhĂ«na tĂ« shfrytĂ«zuara shpesh nĂ« bazĂ« tĂ« SSD-ve tĂ« shpejtĂ«, ndĂ«rsa niveli i sipĂ«rm me tĂ« dhĂ«na mĂ« pak tĂ« kĂ«rkuara nga diskĂ«t e ngurtĂ«), replikim (RAID 1/10), memorizimi, kompresimi i dhĂ«nave nĂ« mĂ«nyrĂ« transparente (modet LZ4, gzip dhe ZSTD), snapshot-e, verifikimi i integritetit pĂ«rmes kontrolleve tĂ« shifrave, mundĂ«sia pĂ«r tĂ« ruajtur kodet e korrigjimit tĂ« gabimeve tĂ« RedaâSolomon (RAID 5/6), ruajtja e informacionit nĂ« formĂ« tĂ« enkriptuar (pĂ«rdoren ChaCha20 dhe Poly1305). Sipas performancĂ«s, Bcachefs Ă«shtĂ« mĂ« i shpejtĂ« se Btrfs dhe sistemet e tjera tĂ« skedarĂ«ve tĂ« bazuara nĂ« mekanizmin Copy-on-Write, dhe tregon shpejtĂ«si tĂ« punĂ«s afĂ«rsisht me Ext4 dhe XFS.
- Në sistemin e skedarëve Btrfs është introduktuar një mod i thjeshtuar i kuotave, i cili lejon arritjen e performancës më të lartë duke ndjekur ekstentet vetëm në atë nënndarje ku janë krijuar, çka e thjeshton ndjeshëm llogaritjen dhe përmirëson performancën, por nuk lejon marrjen parasysh të ekstentëve të përdorur në përbashkët në disa nënndarje.
- Në Btrfs është shtuar një strukturë e re të dhënash e quajtur "stripe tree", e përshtatshme për mapimin logjik të ekstentëve në situata kur mapimi fizik nuk përputhet në pajisje të ndryshme. Kjo strukturë aktualisht është e angazhuar në implementimet RAID0 dhe RAID1 për pajisjet e zonuara me bllok. Në të ardhmen, kjo strukturë planifikohet të përdoret edhe në RAID më të avancuar, çka do të zgjidhë një sërë problemesh që ekzistojnë në implementimin aktual.
- Në sistemin e skedarëve Ceph është realizuar mbështetje për mapimin e identifikuesve të përdoruesve të sistemeve të skedarëve të montuar, i cili përdoret për përputhjen e skedareve të një përdoruesi në një ndarje të huaj të montuar me një përdorues tjetër në sistemin aktual.
- Në efivarfs është shtuar mundësia për të caktuar uid dhe gid gjatë montimit për të mundësuar ndryshimin e variablave UEFI nga proceset e nisura pa të drejtat root.
- NĂ« exFAT janĂ« shtuar thirrje ioctl pĂ«r tĂ« lexuar dhe ndryshuar atributet e FS. ĂshtĂ« shtuar trajtimi i dosjeve me madhĂ«si zero.
- Në F2FS është realizuar mundësia e përdorimit të blloqeve me madhësi 16K.
- Mekanizmi i automontimit autofs është kaluar në përdorimin e API së re për montimin e ndarjeve.
- NĂ« OverlayFS janĂ« propozuar opsione montimi "lowerdir+" dhe "datadir+". ĂshtĂ« shtuar mbĂ«shtetje pĂ«r montimin e nivelit tĂ« dytĂ« tĂ« OverlayFS me xattrs.
- NĂ« XFS Ă«shtĂ« optimizuar ngarkesa nĂ« CPU nĂ« kodin e shpĂ«rndarjes sĂ« blloqeve nĂ« kohĂ« reale. ĂshtĂ« siguruar mundĂ«sia e ekzekutimit simultan tĂ« operacioneve tĂ« leximit dhe FICLONE.
- Kodi EXT2 është kaluar në përdorimin e folieve të faqeve të memories (page folios).
- Kujtesa dhe shërbimet sistemore
- Mbështetje për arkitekturën ia64, e përdorur në procesorët Intel Itanium, është ndërprerë, pasi shitjet e tyre u ndalën plotësisht në vitin 2021. Procesorët Itanium u prezantuan nga Intel në vitin 2001, por arkitektura ia64 nuk arriti të konkurrojë me AMD64, kryesisht për shkak të performancës më të lartë të AMD64 dhe kalimit më të lehtë nga procesorët x86 me 32 bitë. Si rezultat, interesat e Intel u orientojnë drejt procesorëve x86-64, ndërsa Itanium mbeti në HP Integrity, por porositë për ta u ndërprenë tre vjet më parë. hostingut Kodi për mbështetje ia64 është fshirë nga bërthama kryesisht për shkak të mungesës së gjatë të mbështetjes për këtë platformë, ndërsa Linus Torvalds shprehu gatishmërinë për të rikthyer mbështetje për ia64 në bërthamë, por vetëm nëse gjendet një mbështetës që do të demonstrojë mbështetje cilësore për këtë platformë jashtë bërthamës kryesore për të paktën një vit.
- Shtesa e parametrave të komandës së bërthamës «ia32_emulation», e cila lejon aktivizimin dhe çaktivizimin e mbështetjes për emulimin e modit 32-bit gjatë fazës së ngarkimit në bërthamat e ndërtuara për arkitekturën x86-64. Nga një pikëpamje praktike, ky parametër i ri lejon ndërtimin e bërthamës me mbështetje për kompatibilitetin me aplikacionet 32-bit, por për defolt e çaktivizon këtë mod për të reduktuar vektorin e sulmit në bërthamë, duke qenë se API për sigurimin e kompatibilitetit është më pak e testuar se sa ndërfaqet kryesore të bërthamës.
- Vazhdon transferimi i ndryshimeve nga dega Rust-for-Linux, që lidhen me përdorimin e gjuhës Rust si gjuhë të dytë për zhvillimin e driverëve dhe moduleve të bërthamës (mbështetje për Rust nuk është aktive në mënyrë të paracaktuar dhe nuk çon në aktivizimin e Rust si varësi të detyrueshme për ndërtimin e bërthamës). Në versionin e ri është realizuar kalimi në përdorimin e versionit Rust 1.73 dhe është propozuar një grup lidhjesh për punë me radhë (workqueues).
- Ăsht mundĂ«suar pĂ«rdorimi i mekanizmit binfmt_misc pĂ«r mbĂ«shtetje tĂ« formateve tĂ« reja tĂ« skedarĂ«ve ekzekutivĂ« (pĂ«r shembull, pĂ«r tĂ« ekzekutuar aplikacione tĂ« kompiluara nĂ« Java ose Python) brenda hapĂ«sirave tĂ« veçanta pa privilegje (namespace).
- Në kontrollorin e cgroup cpuset, që lejon menaxhimin e angazhimit të bërthamave të CPU gjatë ekzekutimit të një detyre, është siguruar ndarja në seksione lokale dhe të largëta (remote partition), të cilat dallohen nga ajo nëse cgroup-i prind është një seksion rrënjor i saktë apo jo. Në cpuset janë shtuar gjithashtu konfigurime të reja «cpuset.cpus.exclusive» dhe «cpuset.cpus.exclusive.effective» për lidhje ekskluzive me CPU.
- Në nën-sistemin BPF është realizuar mbështetje për përjashtime, të cilat trajtohen si dalje urgjente nga programi BPF me mundësinë e sigurt të zhvillimit të kadrove të grumbullimit. Për më tepër, në programet BPF lejohet përdorimi i treguesve kptr në lidhje me CPU.
- Në nënstrukturën io_uring është shtuar mbështetje për operacionet me futex, si dhe janë realizuar operacione të reja: IORING_OP_WAITID (versioni asinkron i waitid), SOCKET_URING_OP_GETSOCKOPT (varianti i getsockoptand), SOCKET_URING_OP_SETSOCKOPT (varianti i setsockopt) dhe IORING_OP_READ_MULTISHOT (operacione të shumta leximi, që nuk ndalojnë derisa të ketë të dhëna ose derisa bufferi të mbushet).
- ĂshtĂ« shtuar implementimi i FIFO-racave tĂ« lehta tĂ« lidhura, qĂ« kĂ«rkojnĂ« bllokim me spin vetĂ«m pĂ«r fshirjen nga radhĂ« nĂ« konteksin e procesit dhe qĂ« shpĂ«tojnĂ« nga bllokimi me spin pĂ«r shtimin e atomik nĂ« radhĂ« nĂ« çdo kontekst.
- ĂshtĂ« shtuar bufferi circular "objpool" me njĂ« implementim tĂ« shkallĂ«zueshĂ«m tĂ« njĂ« rradhe me performancĂ« tĂ« lartĂ« pĂ«r alokimin dhe kthimin e objekteve.
- ĂshtĂ« shtuar pjesa fillestare e ndryshimeve pĂ«r realizimin e API-sĂ« sĂ« re futex2, e cila ofron performancĂ« mĂ« tĂ« lartĂ« nĂ« sistemet NUMA, mbĂ«shtet madhĂ«si tĂ« ndryshme nga 32 bit, dhe mund tĂ« pĂ«rdoret si zĂ«vendĂ«sim pĂ«r thirrjen sistemike tĂ« shumĂ«fishtĂ« futex().
- Për arkitekturat ARM32 dhe S390x është shtuar mbështetje për grupin aktual të instruksioneve BPF (cpuv4).
- Për arkitekturën RISC-V është implementuar mundësia e përdorimit të modit të kontrollit të Shadow-Call Stack, i disponueshëm në Clang 17, i dedikuar për mbrojtjen nga rinovimi i adresës së kthimit nga funksioni në rast të tejkalimit të buffers në stack. Qëllimi i mbrojtjes është ruajtja, pas kalimit të kontrollit në funksion, e adresës së kthimit në një 'stack' të veçantë 'shadow' dhe nxjerrja e kësaj adrese para daljes nga funksioni.
- Në mekanizmin e bashkimit të faqeve të kujtesës identike (KSM: Kernel Samepage Merging) është shtuar një mod të ri inteligjent për skanimin e faqeve të kujtesës, i cili përcjell faqet e skanuara me dështim dhe zvogëlon intensitetin e skanimeve të tyre të përsëritura. Për të aktivizuar modin e ri, është shtuar një konfigurim në /sys/kernel/mm/ksm/smart_scan.
- ĂshtĂ« shtuar njĂ« komandĂ« e re ioctl PAGEMAP_SCAN, e cila kur pĂ«rdoret me userfaultfd(), lejon pĂ«rcaktimin e faktit tĂ« shkrimit nĂ« njĂ« gamĂ« tĂ« caktuar kujtese. Kjo mundĂ«si e re, pĂ«r shembull, mund tĂ« pĂ«rdoret nĂ« sistem pĂ«r ruajtjen dhe rikthimin e gjendjes sĂ« proceseve CRIU ose nĂ« sistemet anti-bashkĂ«ngjitĂ«se pĂ«r lojĂ«ra.
- Në sistemin e ndërtimit, me prezencën e kompajlerit Clang, ndërtimi i shembujve të përdorimit të nënstrukturës perf, të shkruar si programe BPF, është aktivizuar si parazgjedhje.
- Shtresa e vjetër videobuf, që ishte përdorur për menaxhimin e frame buffer-ave në nënstrukturën e medias, është hequr dhe është zëvendësuar më shumë se 10 vjet më parë me një implementim të ri videobuf2.
- Virtualizimi dhe siguria
- Në nënstrukturën fscrypt është shtuar mundësia e përshkimit të të dhënave me blloqe më të vogla se madhësia e bllokut në sistemin e skedareve. Diçka e tillë mund të nevojitet për të aktivizuar mekanizmat harduerikë të përshkimit që mbështetin vetëm blloqe të vogla (për shembull, kontrollet UFS, që mbështesin vetëm madhësinë e bllokut 4096, do të mund të përdoren me FS me madhësi blloku 16K).
- Në nënstrukturën 'iommufd', që lejon menaxhimin e tabelave të faqeve të memories për input/output IOMMU (I/O Memory-Management Unit) përmes deshifruesve të skedarëve nga hapësira e përdoruesit, është shtuar ndjekja e të dhënave që nuk janë hequr ende nga keƥi (dirty) për operacionet DMA, që është e nevojshme për të përcaktuar memorien me të dhëna të pahequra gjatë migrimit të proceseve.
- Në mekanizmin Landlock, i cili lejon kufizimin e ndërveprimit të një grupi procesesh me mjedisin e jashtëm, është shtuar mbështetje për përcaktimin e rregullave për menaxhimin e aksesit në soketat TCP. Për shembull, mund të krijoni një rregull që lejon vetëm qasjen përmes portit rrjetor 443 për të vendosur lidhje HTTPS.
- Në nën-sistemin AppArmor është shtuar mundësia për të menaxhuar aksesin në mekanizmin io_uring dhe për krijimin e hapësirave të emrave të identifikuesve të përdoruesit (user namespaces), që lejon selektivisht të lejohet aksesin në këto mundësi vetëm për procese të caktuara.
- API për vlerësimin është shtuar. makinave virtuale për të konfirmuar integritetin e procesit të ngarkesës së tij.
- Në sistemet LoongArch është realizuar mbështetje për virtualizimin duke përdorur hipervizorin KVM.
- Kur pĂ«rdoret hipervizori KVM nĂ« sistemet RISC-V, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r zgjerimin Smstateen, qĂ« pengon qasjen e makinĂ«s virtuale nĂ« regjistrat e CPU-sĂ« qĂ« qartĂ«sisht nuk mb supportohen nga hipervizori. Gjithashtu, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r pĂ«rdorimin nĂ« sistemet mysafirĂ« tĂ« zgjerimit Zicond, qĂ« lejon tĂ« pĂ«rdoren disa operacione tĂ« tĂ« nĂșmeros shprehshĂ«m.
- Në sistemet e miohosura nën KVM që bazohen në arkitekturën x86, lejohet përdorimi deri në 4096 CPU virtuale.
- Sistemi i rrjetit
- Në drejtuesin NVMe-TCP (NVMe mbi TCP), i cili lejon qasjen në diskët NVMe përmes rrjetit (NVM Express mbi Fabrics), u shtua mbështetje për enkriptimin e kanalit të transmetimit të të dhënave duke përdorur TLS (duke përdorur KTLS dhe procesin e prapavijës në hapësirën e përdoruesit tlshd për negociatën e lidhjes).
- U optimizua performanca e planifikuesit të paketave fq (Fair Queuing), duke lejuar rritjen e kapacitetit me 5% në ngarkesa të mëdha gjatë testit tcp_rr (TCP Request/Response) dhe me 13% në fluksin e pakufizuar të paketave UDP.
- Në protokollin TCP u shtua mundësia opsionale e përdorimit të vulave të kohës (TCP TS) me saktësi mikrosekondash (RFC 7323), çka lejon vlerësimin më të saktë të vonesave dhe krijimin e moduleve më të avancuara për kontrollin e mbingarkesës. Për ta aktivizuar, mund të përdorni komandën "ip route add 10/8 ⊠features tcp_usec_ts".
- Në stakun TCP është shtuar mbështetje për zgjerimin TCP-AO (TCP Authentication Option, RFC 5925), i cili ofron mundësinë për të verifikuar titujt TCP nëpërmjet kodit MAC (Message Authentication Code), duke përdorur algoritme më moderne HMAC-SHA1 dhe CMAC-AES-128 në vend të opsionit të mëparshëm TCP-MD5 të bazuar në algoritmin e vjetruar MD5.
- ĂshtĂ« shtuar njĂ« tip i ri i pajisjeve virtuale rrjetĂ«s ânetkitâ, logjika e transmetimit tĂ« tĂ« dhĂ«nave nĂ« tĂ« cilat pĂ«rcaktohet me njĂ« program BPF.
- Në KSMBD, implementimin e serverit SMB në nivelin e bërthamës, është shtuar mbështetje për shndërrimin e emrave të skedarëve që përmbajnë çift suprugësh të simboleve.
- NĂ« NFS Ă«shtĂ« pĂ«rmirĂ«suar implementimi i rrjedhave me shĂ«rbimet RPC. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r delegimin e shkruarjes (pĂ«r NFSv4.1+). NĂ« NFSD Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r trajtuesin netlink rpc_status. ĂshtĂ« pĂ«rmirĂ«suar mbĂ«shtetje pĂ«r klientĂ«t NFSv4.x gjatĂ« eksportimit tĂ« pĂ«rsĂ«ritur nĂ« knfsd.
- Pajisjet
- Në modulin e bërthamës Nouveau është shtuar mbështetje fillestare për firmware GSP-RM, të cilat përdoren në GPU NVIDIA RTX 20+ për të kaluar operacionet e inicializimit dhe kontrollit të GPU-së në një mikro-kontroller të veçantë GSP (GPU System Processor). Mbështetja e GSP-RM lejon që ndihmësin Nouveau të punojë duke ndjekur firmware-n, në vend të programimit të drejtpërdrejtë të operacioneve të ndërveprimit me harduerin, gjë që e thjeshton ndjeshëm shtimin e mbështetjes për GPU-të e reja NVIDIA përmes përdorimit të thirrjeve tashmë të gatshme për inicializimin dhe menaxhimin e konsumit të energjisë.
- NĂ« ndihmĂ«sin AMDGPU Ă«shtĂ« realizuar mbĂ«shtetje pĂ«r GC 11.5, NBIO 7.11, SMU 14, SMU 13.0 OD, DCN 3.5, VPE 6.1 dhe DML2. ĂshtĂ« pĂ«rmirĂ«suar mbĂ«shtetja pĂ«r ngarkimin pa qepje (pa blerim gjatĂ« kalimit tĂ« modit tĂ« videos).
- Në ndihmësin i915 është realizuar mbështetje për çipat Intel Meteor Lake dhe është shtuar një e implementuar fillestare për Intel LunarLake (Xe 2).
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r kanale tĂ« asimetrike transmetimi, tĂ« shtuar nĂ« specifikimet USB4 v2 (120/40G).
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r ARM SoC: Qualcomm Snapdragon 720G (pĂ«rdoret nĂ« telefona inteligjentĂ« Xiaomi), AMD Pensando Elba, Renesas, R8A779F4 (R-Car S4-8), USRobotics USR8200 (pĂ«rdoret nĂ« routera dhe NAS).
- Shtohen mbështetje për smartphone Fairphone 5 dhe platformat ARM Orange Pi 5, QuartzPro64, Turing RK1, Variscite MX6, BigTreeTech CB1, Freescale LX2162, Google Spherion, Google Hayato, Genio 1200 EVK, RK3566 Powkiddy RGB30.
- Shtohen mbështetje për platformat RISC-V Milk-V Pioneer dhe Milk-V Duo.
- Shtohen mbështetje për ndërfaqet audio të laptopëve HUAWEI që furnizohen me CPU AMD. Shtohen mbështetje për altoparlantët shtesë të instaluar në laptopët Dell Oasis 13/14/16. Shtohen mbështetje për altoparlantët e integruar ASUS K6500ZC. Shtohen mbështetje për indikatorin e heshtjes në laptopët HP 255 G8 dhe G10. Shtohen mbështetje për drejtuesit audio acp6.3. Shtohen mbështetje për ndërfaqet profesionale të regjistrimit audio Focusrite Clarett+ 2Pre dhe 4Pre.
SĂ« bashku, Fondi Latino-Amerikan i Softuerit tĂ« LirĂ« ka formuluar njĂ« variant tĂ« plotĂ« tĂ« lirĂ« tĂ« bĂ«rthamĂ«s 6.7 â Linux-libre 6.7-gnu, i pastĂ«r nga elementet e firmware-t dhe drivereve qĂ« pĂ«rmbajnĂ« komponente ose pjesĂ« kodi tĂ« pamjaftueshme, ku pĂ«rdorimi i tĂ« cilĂ«ve Ă«shtĂ« i kufizuar nga prodhuesi. NĂ« versionin 6.7 Ă«shtĂ« pĂ«rditĂ«suar kodi pĂ«r pastrimin e blobĂ«ve nĂ« drejtuese dhe nĂ«n-sisteme tĂ« ndryshme, si pĂ«r shembull, nĂ« drejtuese amdgpu, nouveau, adreno, mwifiex, mt7988, ath11k, avs dhe btqca. Kodi pĂ«r pastrimin e drejtueseve localtalk dhe rtl8192u Ă«shtĂ« hequr pĂ«r shkak tĂ« pĂ«rjashtimit tĂ« tyre nga bĂ«rthama. JanĂ« eliminuar komponentĂ«t e tepĂ«rt tĂ« pastrimit tĂ« drejtueseve xhci-pci, rtl8xxxu dhe rtw8822b, tĂ« shtuar mĂ« parĂ« pĂ«r gabim. ĂshtĂ« realizuar pastrimi i emrave tĂ« blobĂ«ve nĂ« dts-fajla pĂ«r arkitekturĂ«n Aarch64. BlobĂ«t nĂ« drejtuese tĂ« rinj mt7925, tps6598x, aw87390 dhe aw88399 janĂ« hequr.
Burimi: opennet.ru
