Hivatalosan megjelent a Linux 7.3 kernel, amely hatékonyabb GPU VRAM-kezelést és széleskörűbb hardvertámogatást hoz

8/10
A Linux 7.3 fejlesztései sok alrendszert érintenek: javul a VRAM-kezelés, több fájlrendszer, az SMB/NFS, a cgroup, a virtualizáció és a biztonsági funkciók, valamint bővül a hardvertámogatás.

Linus Torvalds kiadta a Linux 7.3 kernel stabil változatát. Az új kernel a memóriakezeléstől és a fájlrendszerektől kezdve a hálózati kódon és a virtualizáción át a biztonsági funkciókig számos komponenst érint. Külön figyelmet kaptak a kevés VRAM-mal rendelkező grafikus vezérlők, de jelentős fejlesztések érkeztek az SMB, az NFS, az NTFS3, az OverlayFS és az F2FS kódjába is.

Hivatalosan megjelent a Linux 7.3 kernel, amely hatékonyabb GPU VRAM-kezelést és széleskörűbb hardvertámogatást hoz

A Linux 7.3 egy pszeudofájlrendszerre épülő sandbox-mechanizmust vezet be. A megoldással szabályozható, hogy egy folyamat milyen kernel-erőforrásokhoz férhet hozzá, így az alkalmazások elkülönítése szigorúbban kezelhető. A Rust kerneloldali támogatása PowerPC architektúrára is kiterjedt. Ennek köszönhetően Rustban írt kernelkomponensek és illesztőprogramok PowerPC célplatformokra is fordíthatók, ami újabb architektúrát von be a Linux Rust-támogatásába.

A userfaultfd nevű kernel API képes követni a virtuális gépek vendégmemóriájának working setjét. A working set azokat a memórialapokat jelöli, amelyeket a vendég egy adott időszakban ténylegesen használ. A követés pontosabb információt biztosíthat memóriamigrációhoz, memória-túlfoglaláshoz és a virtuális gépek memóriaigényének felméréséhez. A kernel SMB szervere Apple Time Machine támogatást kapott, így Linux-alapú fájlszerverek és NAS-ok közvetlenül használhatók macOS biztonsági mentések célpontjaként. Az SMB3 titkosítása megosztásonként szabályozhatóvá vált, ezért az egyes megosztások külön titkosítási követelményeket kaphatnak.

Megérkezett az SMB Direct RDMA titkosítása is. Az RDMA nagy átviteli sebesség mellett kisebb CPU-terhelést és alacsonyabb késleltetést tesz lehetővé, a Linux 7.3 pedig ezt titkosított SMB-forgalomnál is használhatóvá teszi. Az NFS szerver könyvtárdelegációt kapott. A szerver bizonyos könyvtárműveleteknél nagyobb önállóságot engedhet a kliensnek, így kevesebb hálózati egyeztetésre van szükség. Sok fájlt érintő műveleteknél csökkenhet a hálózati forgalom és a műveletek késleltetése.

Az NTFS3 alternatív adatfolyamok támogatásával bővült. Az NTFS egyetlen fájlhoz több névvel ellátott adatfolyamot képes kapcsolni, amelyeket Windows alatt egyes alkalmazások és szolgáltatások kiegészítő információk tárolására használnak. Az NTFS3 így pontosabban kezeli a Windows alatt létrehozott NTFS kötetek tartalmát. Az OverlayFS id-mapped mount támogatást kapott. Ugyanazok a fájlok eltérő felhasználói és csoportazonosítókkal jeleníthetők meg anélkül, hogy a lemezen tárolt tulajdonosi adatokat át kellene írni. A funkció elsősorban konténereknél és rootless környezeteknél egyszerűsítheti a jogosultságkezelést.

Az F2FS dinamikusan képes partíciókat eltávolítani a fájlrendszer által használt eszközkészletből. Több tárolóegységre kiterjedő konfigurációknál így rugalmasabban módosítható a háttértárak összetétele. A hálózati kód nagy TCP csomagok továbbítását is támogatja UDP tunneleken keresztül. A kernel nagyobb adatblokkokkal dolgozhat a belső feldolgozás során, majd később bontja azokat tényleges hálózati csomagokra. Nagy adatforgalomnál csökkenhet a feldolgozandó csomagok száma, ami mérsékelheti a CPU-terhelést.

A cgroup teljes értékű alütemezőket kapott. Egy cgroup a számára kiosztott CPU-időn belül saját ütemezési szabályokat alkalmazhat, ezért összetettebb hierarchiákban pontosabban szabályozható a processzoridő elosztása. Az s390, vagyis az IBM System z architektúra külön cpuidle alrendszert kapott. A cpuidle a használaton kívüli processzormagok energiatakarékos állapotait kezeli, így az új támogatás pontosabb energiagazdálkodást tesz lehetővé ezeken a gépeken.

A DAMON memóriamegfigyelő alrendszer data-attributes-only módot kapott. A DAMON nagy memóriaterületek hozzáférési mintáinak alacsony többletterhelésű követésére szolgál. Az új mód akkor alkalmazható, ha nincs szükség minden hozzáférés részletes rögzítésére, csak a memóriaterületek bizonyos jellemzőire. A memóriakiosztási profilozás új ioctl() parancsot kapott. A felhasználói programok így részletesebben vezérelhetik vagy kérdezhetik le a memóriaallokáció profilozásához kapcsolódó adatokat, ami teljesítményelemzésnél és memóriahasználati problémák felderítésénél nyújthat segítséget.

A Btrfs és az Ext4 teljesítményét több fejlesztés javítja. A FUSE io_uring útvonala szintén gyorsult, ami csökkentheti a felhasználói térben működő fájlrendszerek I/O műveleteinek többletterhelését. Javult az egyetlen blokkeszközön elhelyezkedő több fájlrendszer csatolásának kezelése is. A swap alrendszer több fejlesztést kapott, és változott a CPU-idő kiosztása csoportos ütemezésnél. A módosítások nagy memória- vagy processzorterhelésnél befolyásolhatják, hogyan osztja el a kernel az elérhető erőforrásokat a folyamatok között.

Külön fejlesztések érkeztek a kevés VRAM-mal rendelkező grafikus vezérlők memóriakezeléséhez. Ha a videomemória megtelik, a grafikus meghajtónak adatokat kell mozgatnia a VRAM és a rendszermemória között. A Linux 7.3 hatékonyabbá teszi ezt a folyamatot, így kisebb saját memóriával rendelkező GPU-kon csökkenhet a fölösleges adatmozgatás és az ebből eredő teljesítményveszteség.

A biztonsági fejlesztések között új sysctl kapcsoló szabályozza az AF_ALG kriptográfiai API felhasználói elérését. Az AF_ALG a kernel kriptográfiai algoritmusait teszi elérhetővé felhasználói programok számára, az új kapcsoló pedig lehetővé teszi a hozzáférés korlátozását. Az AppArmor tömörített házirendeket támogat, ami nagy szabálykészleteknél csökkentheti a betöltendő adatmennyiséget. Szigorúbb lett az aláírt BPF programok ellenőrzése, a Landlock pedig képes beállítani a no new privileges jelzőt a hívó folyamat számára.

A no new privileges megakadályozza, hogy egy folyamat később például setuid program segítségével magasabb jogosultságot szerezzen. A Landlock így szigorúbb korlátozásokat alkalmazhat az elkülönített alkalmazásoknál. Új rv wakeup monitor került a kernelbe. Az Runtime Verification infrastruktúrához tartozó monitor a folyamatok felébresztésével kapcsolatos eseményeket vizsgálja, és segíthet az ütemezési hibák vagy váratlan állapotok felderítésében.

A hardvertámogatás az Adreno A704 GPU-val, AMD-alapú Barco grafikus adapterekkel, Intel UFS 4.0 HS-Gear5 vezérléssel, Intel Starfire SoC-kkel és a Nuvoton MA35D1 mikroprocesszorral bővült. Támogatást kapott a Pioneer DJ DJM-S11, az ASUS Zenbook A16 billentyűzete és az új Steam Controller.

Számos noteszgéphez gyártóspecifikus javítások érkeztek. Az érintett modellek között szerepel az Acer Aspire A515-57, az ASUS VivoBook M515DA és X515DAP, több Huawei Matebook, a Minisforum AI X1 Pro, több Lenovo Legion és Yoga modell, valamint HP OmniBook, Pavilion, Spectre, EliteBook és ProBook gépek. A változások a hangkezelést, a hálózatot, a billentyűzetet és az ACPI-alapú funkciókat érintik.

A Linux 7.3 forráskódja elérhető a kernel.org oldalán és Linus Torvalds Git-fájában. Általános használatra érdemes megvárni, amíg az új kernel bekerül az adott disztribúció stabil csomagtárolójába. A Linux 7.4 fejlesztési ciklusa és egyben a beolvasztási időablaka a 7.3 kiadásával megnyílt, az első release candidate november 1-jére várható. A következő két hétben folyamatosan beszámolunk a Linux 7.4 kernelbe érkező újdonságokról és fejlesztésekről.