A Linux 6.13 kernel kiadása

Két hónapos fejlesztés után Linus Torvalds bemutatta a Linux 6.13 kernel kiadását. A legszembetűnőbb változások között szerepel a lustaság elmozdítási mód a feladatütemezőben, atomáris írási támogatás az XFS és Ext4-ben, a 'multigrain timestamps' mechanizmus, az adaptív polling mód a hálózati alrendszerben, AutoFDO optimalizációkkal történő összeállítás lehetősége, ARM65 Guarded Control Stack védelmi mechanizmus támogatása, a virtuális gépek elszigetelése az ARM CCA bővítménnyel, elkülönített verem a BPF-ben, a ReiserFS eltávolítása, a virtual-cpufreq illesztőprogram, netlink API net-shaper, a tmpfs kisbetűérzékeny csatolási mód, a POSIX kiterjesztések támogatása az SMB3-ban, és az AMD Cache Optimizer illesztőprogram.

Az új verzióban 14172 javítást fogadtak el 2086 fejlesztőtől, a patch mérete 46 MB (a változások 15375 fájlt érintettek, 598707 sor kódot adtak hozzá, 406294 sor kódot távolítottak el). Az előző kiadásban 14607 javítást fogadtak el 2167 fejlesztőtől, a patch mérete 37 MB volt. A 6.13-ban bemutatott változások körülbelül 52%-a eszközillesztőkhez, körülbelül 13%-a architektúra-specifikus kódfrissítésekhez, 11%-a a hálózati stackhez, 4%-a fájlrendszerekhez, és 3%-a a kernel belső alrendszereihez tartozik.

A 6.13 kernel fő újdonságai:

  • Lemezszubszisztéma, bemenet/kipontozás és fájlrendszerek
    • Hozzáadták a 'multigrain timestamps' mechanizmust, amely lehetővé teszi a fájlok módosítási vagy hozzáférési idejének lekérdezését millisekundánál pontosabb méréssel, de a teljesítmény romlása nélkül. A pontosság növelése további költségeket vonhat maga után a metainformációk lemezre írásának fokozott intenzitása miatt, ezért a javasolt megvalósításban a pontosabb mérőcédulák csak azokhoz a fájlokhoz készülnek, amelyekhez a folyamatok ilyen cédulákat kérnek a getattr() híváson keresztül.
    • Hozzáadták az atomáris írási műveletek támogatását, amelyek lehetővé teszik az adatok, amelyek mérete meghaladja a szektor méretét, atomáris írását az ilyen lehetőségeket biztosító tárolóeszközökön. Jelenleg az atomáris írás az XFS-re, Ext4 O_DIRECT (Direct I/O) módban és md RAID 0/1/10-re van megvalósítva.
    • Új fájlreferencia-számláló mechanizmust javasoltak, amely 3-5%-os teljesítménynövekedést biztosít azokban a munkaterhelésekben, amelyek több mint 255 szálat tartalmaznak.
    • Eltávolították a ReiserFS fájlrendszer megvalósítását, amelyet tavalyelőtt avultnak nyilvánítottak.
    • Hozzáadva a sysctl paraméter "fs.dentry-negative" a VFS bejegyzés-törlési politikájának beállításához a kapcsolódó fájlok eltávolítása után. Bizonyos terhelések esetén optimálisabb, ha az eltávolított fájlokkal kapcsolatos bejegyzéseket megtartják, másoknál pedig eltávolítják, ezért a kernelben lehetőség van választani (alapértelmezés szerint a "dentry" automatikusan nem törlődik).
    • A statmount() rendszerhíváshoz hozzáadva a STATMOUNT_OPT_ARRAY zászló, amely a fájlrendszer opcióinak listáját nullázó karakterrel végződő karakterláncok tömbjeként adja vissza, és nem használja a "\000" escape karaktert. Hozzáadva a fájlrendszer (fs_subtype, a FUSE használatának meghatározásához), a biztonságos csatlakoztatási opciók és az eredeti szuperblokk (sb_source) visszaadásának támogatása.
    • Az OverlayFS-ben lehetőség nyílik a rétegek megadására fájlok deszkriptorain keresztül, nem pedig fájlútvonalak nevein keresztül.
    • A tmpfs fájlrendszerhez hozzáadva a "casefold" csatlakoztatási opció a kis- és nagybetűk figyelmen kívül hagyására, valamint a "strict_encoding" opció, amely megakadályozza az érvénytelen UTF-8 karaktereket tartalmazó fájlnevek létrehozását.
    • Javasolt egy új rendszerhívás-csoport a fájlok kiterjesztett attribútumainak kezelésére: setxattrat(), getxattrat(), listxattrat() és removexattrat(). A setxattr(), getxattr(), listxattr() és removexattr() rendszerhívásokkal ellentétben az új változatok megkövetelik a fájl deszkriptorának megadását, amelyhez a keresés kapcsolódik.
    • A Btrfs-hez hozzáadva az ioctl művelet BTRFS_IOC_SUBVOL_SYNC_WAIT, amely a alkérgek tisztításának befejezésére vár, lehetővé téve a "btrfs subvolume sync" parancs végrehajtását nem privilegizált felhasználó által, aki nem fér hozzá az ioctl SEARCH_TREE-hez (hasznos a részleges alrendszerek tisztítását végző biztonsági alkalmazásokban). Hozzáadva az ENCODED_READ ioctl művelet az io_uring-en keresztüli kódolt adatok olvasására, például a tömörített kiterjesztések közvetlen olvasására. Folytatódott a memóriaoldalak (page folios) védelméről való áttérés munkája. Csökkent a versengő zárak („lock contention”) előfordulása a beágyazott visszautalások keresésekor és a kiterjesztési pufferek átvizsgálásakor. Növelték a kiterjesztési térkép tömörítésének hatékonyságát.
    • Az EROFS (Extendable Read-Only File System) fájlrendszerben, amelyet csak olvasási módban elérhető partíciókhoz terveztek, bevezették az lseek() rendszerhívásban a SEEK_HOLE és SEEK_DATA opciók használatát.
    • Az F2FS-ben bevezetésre került az eszközök visszatükrözésének támogatása (device aliasing), amely lehetővé teszi egy terület ideiglenes lefoglalását az F2FS-ben, hogy egy blokkos eszköz egy részét más fájlrendszerben lehessen használni. A külső művelet befejezése után a lefoglalt terület visszaállítható az F2FS-be. Például létre lehet hozni a fájlrendszert a következő parancs segítségével: "mkfs.f2fs -c /dev/vdc@vdc.file /dev/vdb", amely után a /dev/vdc eszköz tartalma lefoglalásra kerül és visszatükröződik a vdc.file fájlba, így a /dev/vdc partíció más célokra is használható, például formázható egy másik fájlrendszer számára. A lefoglalt tartalom visszaállításához elegendő törölni a vdc.file fájlt.
    • Az XFS támogatja a kvótákat a realtime-eszközök számára. Továbbá hozzáadták a metaadatokkal rendelkező könyvtár (metadata directory) támogatását, ahol az összes metaadat inode található.
    • A FUSE mechanizmusában bevezették a maximális lapok dinamikus módosításának lehetőségét (FUSE_MAX_MAX_PAGES), a "sysctl fs.fuse.max_pages_limit" használatával. Az alkalmazásban memóriakönyvek (page folios) vesznek részt.
    • Az SMB támogatja a POSIX-kiterjesztéseket az SMB3 számára, amelyek szükségesek speciális fájltípusok, például fifo, eszközfájlok és szimbolikus linkek tárolásához. Hozzáadták a partíció alternatív jelszóval történő csatlakoztatásának lehetőségét, amely a jelszavak forgásakor alkalmazandó. Új "cifs.upcall" csatlakozási opciót vezettek be a névtér meghatározására. Biztosítva van a szimbolikus és blokkeszköz fájlok azonosítása, amelyeket a Windows NFS Server hozott létre. A WSL (Windows Subsystem for Linux) stílusú szimbolikus linkek támogatása is bevezetésre került.
    • Az UBIFS, ADFS, BEFS, HFS, HFSPLUS, HPFS, JFS és ECRYPTFS fájlrendszerek átálltak az új csatlakoztatási API használatára.
    • Az ECRYPTFS, UFS és NILFS2 fájlrendszerek átálltak a memóriakönyvek (page folios) használatára.
  • Memória és rendszerszolgáltatások
    • A tervezőben megvalósult a késleltetett feladatkiválasztás modellje (PREEMPT_LAZY), amely megfelel a teljes feladatkiválasztás ("full preemption") modelljének a valós idejű feladatok (RR/FIFO/DEADLINE) esetében, de késlelteti a normál feladatok (SCHED_NORMAL) felülírását a tikkozás határáig. Ez a késleltetés csökkenti a blokkolásokat tartó felhasználók felülírásának eseteit, ami lehetővé teszi a teljesítmény megközelítését a önkéntes felülírási modellt használó konfigurációkhoz. Így az új modell megőrzi a teljes felülírás lehetőségeit a valós idejű feladatok vonatkozásában, de a normál feladatok esetében minimalizálja a teljesítménycsökkenést. Ezenkívül az új modell leegyszerűsíti a feladatkiválasztási eljárások logikáját a kernelben, mivel kizárja a tervezőn kívüli komponensekben lévő kezelőket a tervezési folyamatból.
    • A Clang fordítóval végzett összeszerelés során lehetőség van optimalizálások alkalmazására.

      Forrás: opennet.ru
Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster