Izdanje Linux jezgra 6.13

Po dveh mesecih razvoja je Linus Torvalds predstavil izdajo jedra Linux 6.13. Med najbolj opaznimi spremembami so: način lenivega izrinjanja v razporejevalniku nalog, podpora atomarnemu pisanju v XFS in Ext4, mehanizem „multigrain timestamps“, prilagodljiv način vključitve polinga v omrežni podreditvi, možnost gradnje s optimizacijami AutoFDO, podpora mehanizmu zaščite ARM65 Guarded Control Stack, izolacija virtualnih strojev s pomočjo razširitve ARM CCA, ločeni steki v BPF, odstranitev ReiserFS, gonilnik virtual-cpufreq, netlink API net-shaper, način nameščanja tmpfs z upoštevanjem velikega in malega začetka ter podpora POSIX-razširitev v SMB3, gonilnik AMD Cache Optimizer.

V novo različico je bilo sprejetih 14172 popravkov od 2086 razvijalcev, velikost popravka pa je 46 MB (spremembe so zajele 15375 datotek, dodanih je bilo 598707 vrstic kode, 406294 vrstic pa je bilo odstranjenih). V prejšnji različici je bilo 14607 popravkov od 2167 razvijalcev, velikost popravka pa je bila 37 MB. Približno 52 % vseh sprememb v 6.13 je povezanih z gonilniki naprav, približno 13 % sprememb se nanaša na posodobitev kode, specifične za strojne arhitekture, 11 % je povezanih z omrežnim kupom, 4 % z datotečnimi sistemi in 3 % z notranjimi pod sistemi jedra.

Glavne novosti v jedru 6.13:

  • Дисковая подсистема, ввод/вывод и файловые системы
    • Dodana je bila mehanizem „multigrain timestamps“, ki omogoča pridobivanje informacij o času spremembe ali dostopa do datotek z natančnostjo več kot milisekunde, vendar brez negativnega vpliva na zmogljivost. Povečanje natančnosti oznak povzroča dodatne stroške zaradi povečanega intenzivnost pisanja metapodatkov na disk, zato se v predlagani izvedbi natančnejše oznake ustvarjajo le za tiste datoteke, za katere procesi zahtevajo takšne oznake z klicem getattr().
    • Dodana je podpora atomarnim operacijam pisanja, pri katerih se zapis podatkov, ki presega velikost sektorja, izvede atomarno na naprave za shranjevanje, ki ponujajo to možnost. Trenutno je atomsko pisanje implementirano za XFS, Ext4 v načinu O_DIRECT (Direct I/O) in md RAID 0/1/10.
    • Predlagan je nov mehanizem štetja povezav za datoteke, ki omogoča povečanje zmogljivosti za 3-5 % pri delovnih obremenitvah, ki imajo več kot 255 niti.
    • Izvedba datotečnega sistema ReiserFS je bila odstranjena, ker je bila predlani razglašena za zastarelo.
    • Dodana je sysctl postavka "fs.dentry-negative" za postavljanje politika čišćenja dentry zapisa (unutrašnja predstava elemenata direktorijuma) u VFS nakon brisanja povezanih datoteka. Za neke vrste opterećenja optimalnije je zadržati takve zapise o obrisanim datotekama, dok je za druge povoljnije brisanje, stoga je u jezgru omogućena opcija izbora (podrazumevano "dentry" se automatski ne brišu).
    • U sistemski poziv statmount() dodat je režim STATMOUNT_OPT_ARRAY za vraćanje liste opcija datotečnog sistema u obliku niza stringova koji se završavaju nul-karakterom i ne koriste escapiranje "\000". Dodana je podrška za vraćanje podtipa FS (fs_subtype, za određivanje korišćenja FUSE), opcija bezbednog montiranja i izvorni superblok (sb_source).
    • U OverlayFS omogućeno je određivanje slojeva putem datotečnih deskriptora, a ne imena datotečnih puteva.
    • U datotečni sistem tmpfs dodata je opcija montiranja "casefold" za rad bez obzira na velika i mala slova i opcija "strict_encoding" za blokiranje kreiranja datoteka sa nazivima koji sadrže neispravne UTF-8 karaktere.
    • Predložen je novi skup sistemskih poziva za upravljanje proširenim atributima datoteka: setxattrat(), getxattrat(), listxattrat() i removexattrat(). Za razliku od sistemskih poziva setxattr(), getxattr(), listxattr() i removexattr(), nove varijante zahtevaju određivanje datotečnog deskriptora direktorijuma u odnosu na koji se vrši pretraga datotečnog puta.
    • U Btrfs dodana je ioctl operacija BTRFS_IOC_SUBVOL_SYNC_WAIT, koja uključuje čekanje na završetak čišćenja podvolumenâ, što omogućava izvršavanje komande "btrfs subvolume sync" neprivilegovanim korisnicima bez pristupa ioctl SEARCH_TREE (korisno u aplikacijama za pravljenje rezervnih kopija koje čiste podvolumene). Dodata je ioctl operacija ENCODED_READ za čitanje putem io_uring kodiranih podataka, na primer, za direktno čitanje komprimovanih ekstentâ bez dekompresije. Nastavljena je tranzicija na korišćenje folija stranica memorije (page folios). Smanjena je pojava konkurentskih blokada ("lock contention") prilikom pretrage ugrađenih povratnih referenci i tokom iteracije buferâ ekstentâ. Povećana je efikasnost kompresije mape ekstentâ.
    • V datotečnem sistemu EROFS (Extendable Read-Only File System), zasnovanem za uporabo na particijah, dostopnih v načinu samo za branje, je bila implementirana možnost uporabe možnosti SEEK_HOLE in SEEK_DATA v sistemskem klicu lseek().
    • F2FS je dodal podporo za zrcaljenje naprav („device aliasing“), kar omogoča začasno rezervacijo območja v F2FS za uporabo dela blokovne naprave v drugi datotečni sistem. Po zaključku zunanje operacije lahko rezervirano območje vrnemo v F2FS. Na primer, lahko ustvarite FS z ukazom „mkfs.f2fs -c /dev/vdc@vdc.file /dev/vdb“, po katerem bo vsebina naprave /dev/vdc rezervirana in zrcaljena v datoteko vdc.file, kar omogoča uporabo particije /dev/vdc za lastne potrebe, na primer formatiranje v drug datotečni sistem. Za vrnitev rezervirane vsebine je dovolj, da izbrišete datoteko vdc.file.
    • XFS je dodal podporo za kvote za realtime naprave. Dodana je bila podpora za imenik z metapodatki (metadata directory), v katerem so shranjeni vsi inode z metapodatki.
    • V mehanizmu FUSE je uvedena možnost dinamične spremembe največjega števila strani (FUSE_MAX_MAX_PAGES) z uporabo „sysctl fs.fuse.max_pages_limit“. V operaciji so vključeni folia strani pomnilnika (page folios).
    • SMB je uvedel podporo za POSIX razširitve za SMB3, potrebne za shranjevanje posebnih vrst datotek, kot so fifo, datoteke naprav in simbolne povezave. Dodana je bila možnost montaže particije z alternativno geslom, ki se uporablja pri rotaciji gesel. Dodana je nova možnost montaže „cifs.upcall“ za določanje prostora imen. Omogočeno je prepoznavanje datotek simbolnih in blokovnih naprav, ustvarjenih v Windows NFS Server. Dodana je podpora za simbolne povezave v slogu WSL (Windows Subsystem for Linux).
    • Datotečni sistemi UBIFS, ADFS, BEFS, HFS, HFSPLUS, HPFS, JFS in ECRYPTFS so bili preneseni na uporabo novega API-ja za montažo particij.
    • Datotečni sistemi ECRYPTFS, UFS in NILFS2 so bili preneseni na uporabo folia strani pomnilnika (page folios).
  • Pomnilnik in sistemske storitve
    • V načrtovalniku je implementiran model lene prekinitve nalog (PREEMPT_LAZY), ki ustreza modelu popolne prekinitve za realnočasovne naloge (RR/FIFO/DEADLINE), vendar zamuja prekinitev navadnih nalog (SCHED_NORMAL) do meje klika. Omenjena zamuda zmanjšuje število prekinitev lastnikov zaklepanja, kar omogoča približanje zmogljivosti konfiguracijam, ki uporabljajo model prostovoljne prekinitve. Tako novi model ohranja zmogljivosti popolne prekinitve v zvezi z realnočasovnimi nalogami, hkrati pa minimizira upad zmogljivosti za navadne naloge. Poleg tega nov model poenostavi logiko operacij prekinitve nalog v jedru, saj iz postopka načrtovanja izključuje obdelovalnike, ki se nahajajo v drugih komponentah jedra.
    • Pri sestavljanju s prevajalnikom Clang je omogočeno uporabo optimizacij.

      Izvor: opennet.ru
Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster