Nakon dva mjeseca rada, Linus Torvalds je najavio lansiranjei nova verzija kernela linux 6.13, koji sa sobom donosi važne pomake i novine. Među glavnim novitetima koje predstavlja ističe se: Lazy preemption model, koji se nalazi između dobrovoljnog i punog načina rada, uključivanje podrška za atomsko pisanje u sustave datoteka kao što su XFS i Ext4.
Ostale promjene uključuju virtual-cpufreq drajver, novi netlink net-shap APIer, i tmpfs način montiranja koji je sada osjetljiv na velika i mala slova, zajedno s podrška za POSIX proširenja u SMB3, i AMD-ov upravljački program za optimizaciju predmemorije.
Ova nova verzija imala je doprinos 2086 programera koji su izvršili ukupno 14,172 popravka, utječući na 15,375 datoteka i rezultirajući dodavanjem 598,707 redaka koda, uz uklanjanje 406,294 redaka.
Glavne vijesti u Linuxu 6.13
Kernel 6.13, jedna od najvažnijih promjena je uvođenje mehanizma “fine-grained timestamps”. koji poboljšava preciznost u dobivanju podataka o izmjenama ili pristupima datotekama, postižući preciznost veću od milisekunde bez negativnog utjecaja na performanse.
Još jedna nova značajka koju predstavlja Linux Kernel 6.13 je spodrška za atomsko pisanje, koji osigurava da se podaci veći od veličine sektora atomski zapisuju na uređaje koji podržavaju ovu značajku. Trenutno, ova funkcionalnost Dostupan je u sustavima datoteka kao što su XFS, Ext4 u O_DIRECT načinu rada, a u konfiguracijama RAID 0/1/10 s md.
Što se tiče ostalih datotečnih sustava, Linux 6.13 označava konačno uklanjanje ReiserFS-a, EROFS sada podržava opcije SEEK_HOLE i SEEK_DATA u lseek(), dok F2FS je dodao podršku za pseudonime uređajasy XFS je dodao podršku za kvote na uređajima u stvarnom vremenu i poboljšao upravljanje direktorijima metapodataka. Dodatno, SMB3 sada podržava POSIX ekstenzije potrebne za pohranu posebnih datoteka, kao što su simboličke veze i datoteke uređaja.
U memoriji i uslugama sustava, novi lijeni preferencijalni model (PREEMPT_LAZY). Ovaj model omogućuje vam održavanje sposobnosti preemptiona dovršava za zadatke u stvarnom vremenu, dok odgađa preuzetost normalnih zadataka do granice otkucaja. Osim toga, model pojednostavljuje logiku raspoređivača zadataka uklanjanjem upravljačkih programa iz drugih dijelova jezgre iz procesa raspoređivanja.
Što se tiče optimizacije izgradnje, integrirana je podrška za AutoFDO optimizacije pri kompajliranju s Clangom, koji koriste profile izvršavanja za podešavanje koda i poboljšanje performansi, pokazalo se da smanjuju latenciju za 10%. Nova zastavica također je dodana sistemskom pozivu madvise() kako bi se poboljšalo upravljanje memorijom procesa. Oznaka MADV_GUARD_INSTALL omogućuje vam da nadjačate određene adrese čuvara stranice, sprječavajući iznimke pristupa (SIGSEGV) bez potrebe za dodjeljivanjem novih područja virtualne memorije.
IO_uring je također dobio nekoliko poboljšanja, uključujući mogućnost promjene veličine međuspremnika, slanje poruka sinkrono između prstenastih međuspremnika i djelomično kloniranje međuspremnika. Osim toga, implementirano je hibridno I/O prozivanje, a API je proširen za registraciju prstenastih međuspremnika i memorijskih područja.
Kao hardverska poboljšanja, dodana je mogućnost otkrivanja "split-lock" na AMD CPU-u, fenomen koji se događa kada podaci nisu ispravno poravnati u memoriji i prolaze kroz dvije linije predmemorije, što može ozbiljno utjecati na performanse. Kako bi se ublažio ovaj problem, integriran je upravljački program AMD Cache Optimizer, koji koristi prednosti AMD 3D V-Cache tehnologije za poboljšanje performansi pojedinačnih CPU jezgri, bilo povećanjem veličine dostupne L3 predmemorije ili povećanjem učestalosti.
Za arhitekture MIPS, dodana je podrška za sustave s više kontrolera prekida. klastere, pružajući poseban rukovatelj prekidima za svaki CPU klaster. Implementirana je i nova ioctl operacija, PIDFD_GET_INFO, koja omogućuje dobivanje informacija o procesu pomoću njegovog PIDFD identifikatora, koji ostaje konstantan čak i ako se pridruženi PID promijeni kada se proces završi.
En ARM, ključna poboljšanja uključuju podršku za pokretanje Linuxa na virtualnim strojevima zaštićen Arm Confidential Computing Architecture, kao i podrška za sjenčane skupove korisničkog prostora, poboljšavajući sigurnost. Također provodi a novi mehanizam brojanja referenci za datoteke, postizanje veće skalabilnosti.
El Planer zadataka sada podržava proxy mehanizam izvršavanja, rješavanje problema inverzije prioriteta. Ovaj mehanizam sprječava da zadaci niskog prioriteta zadržavaju resurse potrebne zadacima visokog prioriteta (u stvarnom vremenu), blokirajući ih. Osim toga, programski i izvedbeni konteksti procesa su odvojeni.
S druge strane, ističe se migracija promjena vezanih uz korištenje Rusta u razvoju upravljačkih programa i modula jezgre. Iako Podrška za Rust nije omogućena prema zadanim postavkama, dodana su povezivanja i strukture podataka kako bi se omogućilo pisanje upravljačkih programa na ovom jeziku, uključujući podršku za događaje praćenja i upravljački program Binder prepisan u Rustu.
Podsustav BPF je poboljšan implementacijom zasebnog skupa za BPF programe, što smanjuje rizik od preljeva pri obradi velikih lanaca poziva. Također je dodana mogućnost slanja signala drugim procesima i korištenja zajedničke memorije u BPF mapama, olakšavajući komunikaciju učitavanja između upravljačkih programa planera zadataka.
Nadalje, Praćenje izuzetaka poboljšano je za generiranje pogrešaka stranice kada se točke praćenja pokreću u sistemskim pozivima, omogućujući čitanje parametara proslijeđenih iz korisničkog prostora. Parametar transparent_hugepage_shmem također je dodan za kontrolu korištenja velikih memorijskih stranica na tmpfs i shmem datotečnim sustavima.
U mrežama se uvodi podrška za obustavljanje NAPI-ja tijekom neaktivnosti, poboljšanje potrošnje energije i novi API mrežnih uređaja koji olakšava naprednu konfiguraciju prijenosnog (TX) hardvera. Osim toga, io_uring je dobio nekoliko optimizacija koje poboljšavaju rukovanje asinkronim ulazno/izlaznim operacijama.
Napokon je i provedenopodrška u stvarnom vremenu za Loongarch arhitekturu i nova proširenja RISC-V arhitekture, koja omogućuju maskiranje pokazivača u korisničkom prostoru. Kako bi se poboljšala kompresija slike jezgre, zadani algoritam je promijenjen u lz4, zamjenjujući lz4c.
Ako želite saznati više o tome, možete pogledati detalje U sljedećem linku.