Pas dy muajsh zhvillimi, Linus Torvalds prezantoi versionin e kernelit Linux 6.13. Disa nga ndryshimet më të dukshme përfshijnë: mënyra e shkarkimit të vonuar në planifikuesin e detyrave, mbështetje për shkruajtjen atomike në XFS dhe Ext4, mekanizmi "multigrain timestamps", mënyra adaptive e përfshirjes së polling në nënstrukturën rrjet, mundësia e ndërtimit me optimizime AutoFDO, mbështetje për mekanizmin e mbrojtjes ARM65 Guarded Control Stack, izolimin e makinave virtuale përmes zgjerimit ARM CCA, stek të ndara në BPF, heqjen e ReiserFS, drejtuesin virtual-cpufreq, API-në netlink net-shaper, mënyrën e montimit tmpfs me ndjeshmëri ndaj regjistrit të karaktereve, mbështetje për zgjatjet POSIX në SMB3, dhe drejtuesin AMD Cache Optimizer.
Në versionin e ri janë pranuar 14,172 rregullime nga 2,086 zhvillues, madhësia e patches është 46 MB (ndryshimet prekin 15,375 skedarë, janë shtuar 598,707 rreshta kodi, janë hequr 406,294 rreshta). Në versionin e kaluar kishte 14,607 rregullime nga 2,167 zhvillues, madhësia e patches ishte 37 MB. Rreth 52% e të gjitha ndryshimeve të paraqitura në 6.13 lidhen me drejtuesit e pajisjeve, rreth 13% e ndryshimeve kanë të bëjnë me azhurnimin e kodit, specifik për arkitekturën harduerike, 11% lidhen me stekët rrjet, 4% me sistemet e skedarëve dhe 3% me nënstrukturat e brendshme të kernelit.
Novitetet kryesore në kernelin 6.13:
- Sistemi i diskut, hyrja/ dalje dhe sistemet e skedarëve
- Shtuar mekanizmi "multigrain timestamps", i cili lejon marrjen e informacionit mbi ndryshimin ose qasjen në skedarë me më shumë sesa një milisekondë saktësi, por pa ndikim negativ në performancë. Rritja e saktësisë së etiketave çon në shpenzime të mëtejshme për shkak të intensitetit të rritur të regjistrimeve të metadatas në disk, prandaj në implementimin e propozuar, etiketa më të sakta krijohen jo për të gjithë skedarët, por vetëm për ata për të cilët proceset kërkojnë etike të tilla përmes thirrjes getattr().
- Shtuar mbështetje për operacionet atomike të shkruarjes, në të cilat shkruajta të dhënash, madhësia e të cilave tejkalon madhësinë e sektorit, realizohet në mënyrë atomike në pajisjet e ruajtjes që ofrojnë një mundësi të tillë. Aktualisht, shkruajtja atomike është realizuar për XFS, Ext4 në mënyrën O_DIRECT (Direct I/O) dhe md RAID 0/1/10.
- Propozohet një mekanizëm i ri për numërimin e referencave për skedarët, duke siguruar një rritje të performancës prej 3-5% në ngarkesat e punës që kanë më shumë se 255 rrjedha.
- Zhvillimi i sistemit të skedarëve ReiserFS është hequr, i cili vitin e kaluar u shpall i vjetruar.
- Shtuar parametri sysctl "fs.dentry-negative" për të vendosur në VFS politikën e pastrimit të regjistrimeve "dentry" (paraqitja e brendshme e elementeve të katalogëve) pas heqjes së skedarëve të lidhur me to. Për disa lloje ngarkesash është më optimale të mbash regjistrat e tillë për skedarët e hequr, dhe për disa të tjera, t'i heqësh, prandaj në kernel është ofruar mundësia e zgjedhjes (me default "dentry" nuk fshihen automatikisht).
- Në thirrjen sistemit statmount() është shtuar flag STATMOUNT_OPT_ARRAY për të kthyer listën e opsioneve të sistemit të skedarëve si një masë nga rreshta që përfundojnë me simbolin zero dhe që nuk përdorin e cku hajdarina "\000". Shtuar mbështetje për kthimin e nënllojit të FS (fs_subtype, për të përcaktuar përdorimin e FUSE), opsionet e montimit të sigurt dhe super-blokun e burimit (sb_source).
- Në OverlayFS është e mundur të tregohet shtresat përmes descriptorëve të skedarëve, dhe jo emrave të rrugëve të skedarëve.
- Në sistemin e skedarëve tmpfs është shtuar opsioni i montimit "casefold" për të punuar pa ndjeshmëri ndaj regjistrit të karaktereve dhe opsioni "strict_encoding" për të bllokuar krijimin e skedarëve me emra që përmbajnë simbole të papërshtatshme UTF-8.
- Propozohet një grup i ri thirrjesh sistemore për menaxhimin e atributeve të zgjeruara të skedarëve: setxattrat(), getxattrat(), listxattrat() dhe removexattrat(). Ndryshe nga thirrjet sistemore setxattr(), getxattr(), listxattr() dhe removexattr(), variantet e reja kërkojnë tregimin e descriptorit të skedarit të katalogut, në lidhje me të cilin po bëhet kërkimi për rrugën e skedarit.
- NĂ« Btrfs Ă«shtĂ« shtuar operacioni ioctl BTRFS_IOC_SUBVOL_SYNC_WAIT, duke pĂ«rfshirĂ« pritjen pĂ«r pĂ«rfundimin e pastrimit tĂ« nĂ«podivisioneve, e cila lejon kryerjen e komandĂ«s "btrfs subvolume sync" nga pĂ«rdorues tĂ« pa privilegjuar, tĂ« cilĂ«t nuk kanĂ« akses nĂ« ioctl SEARCH_TREE (i dobishĂ«m nĂ« aplikacionet e backup-it qĂ« pastroni nĂ«nndivisionet). Shtuar operacioni ioctl ENCODED_READ pĂ«r tĂ« lexuar pĂ«rmes io_uring tĂ« dhĂ«nat e koduara, pĂ«r shembull, pĂ«r tĂ« lexuar drejtpĂ«rdrejt nga ekstentĂ«t e kompresuar pa deshifrim. ĂshtĂ« vazhduar puna pĂ«r kalimin nĂ« pĂ«rdorimin e manusheve tĂ« faqeve tĂ« memories (page folios). Ka pasur njĂ« reduktim nĂ« ndodhitĂ« konkurente tĂ« bllokimeve ("lock contention") gjatĂ« kĂ«rkimeve pĂ«r lidhjet e brendshme dhe gjatĂ« skanimeve tĂ« bufferave tĂ« ekstentĂ«ve. Efiçenca e kompresimit tĂ« hartĂ«s sĂ« ekstentĂ«ve Ă«shtĂ« rritur.
- Në sistemin e skedarëve EROFS (Sistemi i Shkruar i Zgjedhur), i destinuar për t'u përdorur në zona të aksesueshme në mënyrë vetëm-të-lejueshme, është implementuar mundësia e përdorimit të opsioneve SEEK_HOLE dhe SEEK_DATA në thirrjen sistemike lseek().
- Në F2FS është shtuar mbështetje për reflektimin e pajisjeve («device aliasing»), e cila lejon rezervimin përkohësisht të një zone në F2FS për përdorimin e një pjese të pajisjes bllok në një sistem tjetër skedari. Pasi të përfundojë operacioni i jashtëm, zona e rezervuar mund të kthehet në F2FS. Për shembull, mund të krijoni një sistem skedari me urdhrin «mkfs.f2fs -c /dev/vdc@vdc.file /dev/vdb», pas të cilit përmbajtja e pajisjes /dev/vdc do të rezervojë dhe reflektohet në skedarin vdc.file dhe zona /dev/vdc mund të përdoret për nevojat tuaja, për shembull, formatuar për një sistem tjetër skedari. Për të kthyer përmbajtjen e rezervuar mjafton të fshini skedarin vdc.file.
- NĂ« XFS Ă«shtĂ« pĂ«rfshirĂ« mbĂ«shtetje pĂ«r kuotat pĂ«r pajisjet realtime. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r njĂ« direktori me metadatat (metadata directory), ku vendosen tĂ« gjitha inode tĂ« metadatat.
- Në mekanizmin FUSE është përfshirë mundësia e ndryshimit dinamik të numrit maksimal të faqeve (FUSE_MAX_MAX_PAGES), duke përdorur «sysctl fs.fuse.max_pages_limit». Funksionojnë fletët e faqeve të memories (page folios).
- NĂ« SMB Ă«shtĂ« implementuar mbĂ«shtetje pĂ«r zgjerimet POSIX pĂ«r SMB3, tĂ« nevojshme pĂ«r ruajtjen e llojeve speciale tĂ« skedarĂ«ve, tĂ« tilla si fifo, skedarĂ« pajisjesh dhe lidhje simbolike. ĂshtĂ« shtuar mundĂ«sia e montimit tĂ« zonĂ«s me njĂ« fjalĂ«kalim alternativ, e cila aplikohet gjatĂ« rotacionit tĂ« fjalĂ«kalimeve. ĂshtĂ« shtuar njĂ« opsion i ri montimi «cifs.upcall» pĂ«r tĂ« pĂ«rcaktuar hapĂ«sirĂ«n e emrave. ĂshtĂ« siguruar njohja e skedarĂ«ve simbolikĂ« dhe bllokues, tĂ« krijuar nĂ« Windows NFS Server. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r lidhjet simbolike nĂ« stilin WSL (Windows Subsystem for Linux).
- Sistemet e skedarëve UBIFS, ADFS, BEFS, HFS, HFSPLUS, HPFS, JFS dhe ECRYPTFS janë transferuar për të përdorur API-në e re të montimit të zonave.
- Sistemet e skedarëve dhe ECRYPTFS, UFS dhe NILFS2 janë transferuar për të përdorur fletët e faqeve të memories (page folios).
- Kujtesa dhe shërbimet sistemore
- Në planifikues është implementuar modeli i dëbimit të përkohshëm të punëve (PREEMPT_LAZY, lazy preemption), i cili përkon me modelin e dëbimit të plotë («full preemption») për punët realtime (RR/FIFO/DEADLINE), por e vonon dëbimin e punëve normale (SCHED_NORMAL) deri në kufirin e tikit. Kjo vonesë sjell një reduktim të rasteve të dëbimit të mbajtësve të bllokimeve, duke lejuar që performanca të afrojë me konfigurimet që përdorin modelin e dëbimit të vullnetshëm (voluntary preemption). Prandaj, modeli i ri lejon ruajtjen e mundësive të dëbimit të plotë në lidhje me punët realtime, por minimizon rënien e performancës për punët normale. Për më tepër, modeli i ri thjeshton logjikën e operacioneve të dëbimit të punëve në bërthamë, duke përjashtuar nga procesi i planifikimit menaxherët që ndodhen në komponentë të tjerë të bërthamës (jashtë planifikuesit të punëve).
- Gjatë ndërtimit nga kompajleri Clang është siguruar mundësia e përdorimit të optimizimeve.
Burimi: opennet.ru
