Nakon dva mjeseca rada, Linus Torvalds je najavio lansiranjei novu verziju Kernela linux 6.13, što sa sobom nosi važne napretke i novine. Među glavnim novitetima koje predstavlja izdvaja se: model Lazy preemption, koji je pozicioniran između dobrovoljnog i punog načina, uključivanje podrška za atomsko upisivanje u sisteme datoteka kao što su XFS i Ext4.
Ostale promjene uključuju drajver virtual-cpufreq, the novi netlink net-shap APIer, i tmpfs način montiranja koji je sada osjetljiv na velika i mala slova, zajedno sa podrška za POSIX ekstenzije u SMB3, i drajver za optimizaciju keša iz AMD-a.
Ova nova verzija je dala doprinos 2086 programera koji su napravili ukupno 14,172 popravke, utičući na 15,375 fajlova i rezultirajući dodavanjem 598,707 linija koda, uz eliminaciju 406,294 linije.
Glavne vijesti u Linuxu 6.13
Kernel 6.13, jedna od najvažnijih promjena je uvođenje mehanizma “fino-zrnatih vremenskih oznaka”. koji poboljšava preciznost u dobijanju podataka o modifikacijama ili pristupima datotekama, postižući preciznost veću od milisekundi bez negativnog uticaja na performanse.
Još jedna nova karakteristika koju Linux Kernel 6.13 predstavlja je spodrška za atomsko pisanje, što osigurava da se podaci veći od veličine sektora atomski zapisuju na uređaje koji podržavaju ovu funkciju. Trenutno je ova funkcionalnost Dostupan je u sistemima datoteka kao što su XFS, Ext4 u O_DIRECT modu, iu RAID 0/1/10 konfiguracijama sa md.
Što se ostalih sistema datoteka tiče, 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 realnom vremenu i poboljšao upravljanje direktorijumom metapodataka. Uz to, SMB3 sada podržava POSIX ekstenzije potrebne za pohranjivanje posebnih datoteka, kao što su simboličke veze i datoteke uređaja.
U memorijskim i sistemskim uslugama, novi model lijenih preferencija (PREEMPT_LAZY). Ovaj model omogućava vam da zadržite mogućnosti prevencije dovršava za zadatke u realnom vremenu, dok odgađa prednost normalnih zadataka do granice. Dodatno, model pojednostavljuje logiku planera zadataka uklanjanjem drajvera iz drugih dijelova kernela iz njegovog procesa planiranja.
Što se tiče optimizacije izgradnje, integrisana je podrška za AutoFDO optimizacije prilikom kompajliranja sa Clangom, koji koriste profile izvršavanja za podešavanje koda i poboljšanje performansi, pokazalo se da smanjuju kašnjenje za 10%. Nova zastavica je također dodana u sistemski poziv madvise() kako bi se poboljšalo upravljanje memorijom procesa. Oznaka MADV_GUARD_INSTALL vam omogućava da nadjačate određene adrese čuvara stranica, spreč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 bafera, sinhrono slanje poruka između prstenastih bafera i djelomično kloniranje bafera. Dodatno, implementirano je hibridno I/O polling i API je proširen na registarske prstenaste bafere i memorijska područja.
Što se tiče hardverska poboljšanja, dodata je mogućnost detekcije "split-locks" na AMD procesorima, fenomen koji se javlja kada podaci nisu pravilno poravnati u memoriji i prelaze dvije linije keša, što može ozbiljno utjecati na performanse. Da bi se ublažio ovaj problem, integrisan je upravljački program AMD Cache Optimizer, koji koristi prednosti AMD 3D V-Cache tehnologije za poboljšanje performansi pojedinačnih CPU jezgara, bilo povećanjem veličine dostupne L3 keš memorije ili povećanjem frekvencije.
Za arhitekture MIPS, dodata je podrška za sisteme sa više kontrolera prekida. klastera, obezbeđujući poseban rukovalac prekida za svaki CPU klaster. Nova ioctl operacija, PIDFD_GET_INFO, je također implementirana, koja omogućava dobivanje informacija o procesu koristeći njegov PIDFD identifikator, koji ostaje konstantan čak i ako se povezani PID promijeni kada se proces završi.
En ARM, ključni napredak uključuje podršku za pokretanje Linuxa na virtuelnim mašinama zaštićen Arm Confidential Computing Architecture, kao i podršku za stekove senki korisničkog prostora, poboljšavajući sigurnost. Takođe implementira a novi referentni mehanizam za brojanje fajlova, postizanje veće skalabilnosti.
El Planer zadataka sada podržava mehanizam izvršavanja proxyja, rješavajući problem inverzije prioriteta. Ovaj mehanizam sprečava da zadaci niskog prioriteta zadržavaju resurse potrebne zadacima visokog prioriteta (u realnom vremenu), blokirajući ih. Osim toga, razdvojeni su konteksti programiranja i izvršavanja procesa.
S druge strane, naglašava migracija promjena vezanih za korištenje Rusta u razvoju drajvera i modula kernela. Mada Podrška za Rust nije omogućena prema zadanim postavkama, dodana su veza i strukture podataka da se omogući pisanje drajvera na ovom jeziku, uključujući podršku za događaje praćenja i Binder drajver prepisan u Rust.
Podsistem BPF se poboljšao implementacijom odvojenog paketa za BPF programe, što smanjuje rizik od prelijevanja prilikom obrade velikih lanaca poziva. Dodata je i 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.
Osim toga, Praćenje izuzetaka je poboljšano da generiše greške stranice kada se tačke praćenja aktiviraju u sistemskim pozivima, omogućavajući čitanje parametara proslijeđenih iz korisničkog prostora. Parametar transparent_hugepage_shmem je također dodat za kontrolu korištenja velikih memorijskih stranica na tmpfs i shmem sistemima datoteka.
U mrežama se uvodi podrška za suspendovanje NAPI-ja tokom neaktivnosti, poboljšanje potrošnje energije i novi API mrežnih uređaja koji olakšava naprednu konfiguraciju hardvera za prijenos (TX). Dodatno, io_uring je dobio nekoliko optimizacija koje poboljšavaju rukovanje asinhronim ulazno/izlaznim operacijama.
Konačno, to je implementiranopodrška u realnom vremenu za Loongarch arhitekturu i nova proširenja RISC-V arhitekture, koja omogućavaju maskiranje pokazivača u korisničkom prostoru. Da bi se poboljšala kompresija slike kernela, podrazumevani algoritam je promenjen u lz4, zamenjujući lz4c.
Zainteresovani da saznate više o tome, možete pogledati detalje Na sledećem linku.