Megjelent a Linux kernel 5.18 verziója. Vessünk egy pillantást a lényegesebb újdonságokra:
- Az indirekt elágazáskövetés támogatása Intel CPU-kon
Az indirekt elágazáskövetés az Intel CPU-kban található olyan funkció, amely a biztonságot próbálja javítani azáltal, hogy kikényszeríti, hogy a közvetett hívásokkal hívott függvények egy adott ENDBR utasítással kezdődjenek. Az utasítás önmagában semmit sem csinál, de ha a hívott kódból hiányzik, a CPU megtagadja a kód futtatását. A fordító beilleszti a szükséges utasításokat, ahol szükséges, hogy ez megtörténjen. Ez megnehezíti, hogy egy exploit (és a tulajdonosi fejlesztésű modulok) meghívjanak valami véletlenszerű függvényt. A Tiger Lake CPU-kkal és újabbakkal a jobb biztonság érdekében- Indirect branch tracking for Intel CPUs cikk az LWN webhelyen
- C11-es C szabvány használata a C89 helyett
A kernel-projekt az általános gyorsasága ellenére számos régi eszközre támaszkodik. Míg a kritikusok előszeretettel foglalkoznak azzal, hogy a közösség széles körben használja az e-maileket, egy talán még jelentősebb anakronizmus a C nyelv 1989-es verziójának használata a kernel kódjához - egy olyan szabvány, amelyet még a kernel projekt kezdete előtt, több mint 30 évvel ezelőtt foglaltak rendszerbe. Úgy tűnik, hogy ennek a régóta fennálló gyakorlatnak már az 5.18-as kernel megjelenésével vége szakadt, így a C nyelv 2011-es verziójára történő átáláással, amit már modern C nelvnek tekintenek a fejlesztők.
Moving the kernel to modern C cikk az LWN webhelyen -
A Linux már rendelkezik egy olyan módszerrel, amely lehetővé teszi a felhasználói tér folyamatainak nyomon követését a kernel nyomonkövetési eszközeivel (uprobes). Ez a kiadás egy új ABI-t ad hozzá, amely lehetővé teszi a folyamatok számára, hogy a kernel nyomkövetési szintű eseményektől elszigetelt nyomkövetési eseményeket hozzanak létre és írjanak azokba. Ez lehetővé teszi a felhasználói módú adatokból történő nyomkövetés gyorsabb útját, valamint megnyitja a menedzselt kódot a nyomkövetési eseményekben való részvételre, ahol a programcsonkok (stub) helyei dinamikusak. A folyamatok nem álladóan, gyakran csak akkor akarnak nyomkövetést végezni, amikor az hasznos. Egy folyamat regisztrálhat egy eseményt, amely leírja az esemény formátumát a kernel számára. A kernel létrehozza az eseményt. A folyamat ezután egy leképezett tracefs fájlból egy bájtot fog kapni egy oldaltérképben, amelyet a későbbiekben ellenőrizhet. Egy privilegizált feladat engedélyezheti az nyomkövetési eseményt, ami a leképezett bájtot igazra változtatja. A folyamat ezután elkezdheti írni az eseményt a nyomkövetési pufferbe.
-
Jobb folyamatütemezési teljesítmény AMD Zen rendszereken
Egyes CPU-k, mint például az AMD Zen, csomópontonként több Last Level Cache-t tartalmaznak helyi memóriacsatornákkal, és a rendszer tervezett kiegyensúlyozottlansága miatt sokkal nehezebb egyes munkaterhelések optimális futását beállítani, mint olyan hardvereken, amelyek csomópontonként 1 LLC-vel rendelkeznek. Ez a kiadás úgy állítja be az egyensúlyt a több LLC-vel rendelkező gépeken, hogy az egyensúlytalanságot egészen addig a pontig engedi, ahol az LLC-k használata egyensúlyi állapotba kerül a csomópontok között, ami jelentősen javítja a teljesítményt egyes munkaterhelésekben. -
fprobe, több callback-függvény használata egyetlen próbakezelővel
A Linux már rendelkezik a függvényhívás calback-kezelő üzemmóddal. Ez a kiadás tartalmaz egy újat, az fprobe-t, amely az ftrace-re épül. Azért létezik ez az új függvénykezelő API, mert nem használja az ftrace teljes funkcióit, csak lehetőséget biztosít arra, hogy a függvények belépésekor és kilépésekor visszahívásokat (callback) csatoljunk. A kprobes és a kretprobes-okkal ellentétben az fprobe gyorsabb megoldást nyújt több függvény használatához egyetlen kezelővel megoldással. - Fejlécek átszervezése a gyorsabb fordítási idő érdekében a feladatütemezőben elvégzett feladatok kerültek beolvasztásra.
-
Btrfs: tömörített I/O, csatolási pontokon átívelő reflink és deduplikáció és teljesítményjavítások
A Btrfs fájlrendszer támogatja az azonnali tömörítést. A küldés/fogadás (send/receive) használatakor a küldő oldal kitömöríti az adatokat, a fogadó oldal pedig újratömöríti azokat, mielőtt kiírná azokat. Ez a kiadás lehetővé teszi, hogy a felhasználói terület eszközei elkerüljék az extra kitömörítést/betömörítést azáltal, hogy a küldés/fogadás közvetlenül olvashatja és írhatja a tömörített adatblokkokat. Ez a kiadás emellett támogatja a csatolási pontokon átívelő reflink és deduplikáció támogatást, és számos jelentős teljesítményjavítást is tartalmaz, különösen az fsync-alapú munkaterhelések esetében. Van néhány előkészület is a jövőben kiadásra kerülő extent tree v2 változásokra is. -
Szigorúbb memcpy() fordítási idejű határérték-ellenőrzés: Strict memcpy() bounds checking for the kernel cikk az LWN webhelyen
-
Lehetővé teszi az összes CPU backtrace gyűjtését egy kernelpánik esemény során, valamint a "panic_print" engedélyezését egy kdump eseményben.
- A Reiserfs viszonylag régi fájlrendszer, és a fejlesztése már leállt néhány évvel ezelőtt. A Linux disztribúciók eltávolodtak tőle és más fájlrendszerek felé fordultak, mint például a btrfs, xfs vagy ext4. A karbantartás csökkentése érdekében ReiserFS eltávolítását 2025-re ütemezik az fejlesztők.
- A kriptográfiai algoritmusokat, amelyek az entrópikus adatokat biztonságos véletlenszámokká alakítják át, modernizálták.
-
A NUMA-kiegyenlítés körüli ütemezőfrissítések, amelyek tovább javthatják különösen az AMD EPYC szerverek teljesítményét.
-
Az Intel Hardware Feedback Interface támogatása mostantól az Intel új "HFI" vezérlőjével egyesül az Intel hibrid processzorai számára fontos funkcióhoz.
-
Az Intel Software Defined Silicon beolvasztva a vitatott Intel CPU funkcióhoz, amely az extra szilíciumfunkciók aktiválását teszi lehetővé kriptográfiailag aláírt kulcsok segítségével. Az Intel még nem jelentett be semmilyen terméket, ami SDSi-t használ, de úgy gondolják, hogy úton vannak, bár még nem világos, hogy milyen CPU-k/funkciókat fordíthatnak licencmodellre.
-
Az AMD HSMP meghajtó beolvasztása a Host System Management Porthoz, amely további információk elérését teszi lehetővé az AMD szerverplatformokon.
-
Javult az AMD beágyazott virtualizációja, valamint a többszörösen beágyazott virtualizáció is.
-
Az AMD új hangillesztő-programkódot készít elő a következő generációs platformjaihoz.
-
További AMD EDAC előkészületek a Zen 4 számára.
-
Az Intel PECI végül Intel Platform Environment Control Interface néven egyesült a szerverplatformok CPU-ja és BMC-i közötti interfészeként.
-
Az Intel Idle vezérlő natív támogatást ad az Intel Xeon "Sapphire Rapids" CPU-khoz.
-
Az Intel P-State illesztőprogram mostantól a firmware által feltárt alapértelmezett EPP-értéket használja, ahelyett, hogy eddig a z előre belekódolt EPP-alapértelmezettet használná.
-
Előkészületek az Intel IPI virtualizációhoz.
-
CPUPower támogatás az AMD P-State driverrel való használathoz, amelyet a Linux 5.17-ben vezettek be.
-
A KVM mostantól támogatja az AMD virtuális gépeket 511 vCPU-ig, ahol eddig csak 255 vCPU-ig volt lehetséges az AMD rendszereknél.
-
RISC-V Sv57 virtuális memória támogatása.
-
A Restartable Sequences (RSEQ) interfész támogatása és a RISC-V CPU Idle támogatása.
-
A Tesla FSD chip támogatását a Samsung-alapú Arm SoC-hez fejlesztették, amelyet a Tesla jármű teljes önvezető számítógépe használ.
-
A Razperry Pi Zero 2 W-t már támogatja a fővonalbeli Linux kernel.
-
Az Andes NDS32 CPU architektúra kódjának eltávolítása, mivel a kódot már nem tartják fenn a különböző IoT és digitális jelvezérlő alkalmazásokban használt 32 bites AndesCore architektúrához.
-
Különböző ARM64 architektúra frissítések.
-
Az AMDGPU FreeSync videomódja alapértelmezés szerint engedélyezve van, szemben a korábbi rendszermagokkal, amelyeknél a FreeSync videomód engedélyezéséhez az AMDGPU modul opcióra volt szükség.
Az AMD előkészítette a kódot a jövőbeni/jövőbeli GPU-k blokkonkénti engedélyezéséhez, amely lehetővé teszi a következő AMD GPU-k tulajdonságainak automatikus észlelését, a lényegi részletek kiszvárogtatása nélkül.
-
CRIU támogatás bevezetése az AMDKFD vezérlőhöz az ellenőrzőpont/visszaállítási képességek ROCm compute munkaterhelésekhez.
-
Intel DG2-G12 alplatform támogatás, a már bejelentett új DG2/Alchemist G10 és G11 GPU-kmellett. Ezen kívül még sok más DG2/Alchemist vezérlővel kapcsolatos fejlesztés is érkezett.
-
Intel Alder Lake N grafikus támogatás.
-
Gyorsabb FBDEV (Framebuffer) műveletek és több FBDEV illesztőprogram javítás.
-
ASpeed AST2600 támogatás és egyéb kisebb DRM illesztőprogram módosítások.
-
ASUS alaplapok érzékelőinek jobb támogatása.
-
Az NVIDIA Tegra videodekódoló vezérlőjét stabilnak minősítették a média alrendszerben.
-
Új bemeneti vezérlők a Mediatek MT6779 billentyűzethez és az Imagis érintőképernyőkhöz.
-
Az ACPI platformprofil-támogatás mostantól megfelelően működik az AMD-alapú ThinkPadek esetében.
-
További x86-os Android táblagép-illesztőprogram-megoldások.
-
Folyamatos fejlesztések az Apple billentyűzetek támogatásához.
-
HID-illesztőprogram a különösSigmaMicro IC-kkel ellátott billentyűzetekhez.
-
A Razer HID-illesztőprogram a Razer billentyűzetekhez/eszközökhöz, amelyek nem teljesen HID-kompatibilisek.
-
Sok hálózati eszköztámogatás frissítés a már megszokott módon.
-
Néhány HP Omen notebook hőszabályzójának javítása.
-
Intel Alder Lake "PS" audió támogatás.
-
Az EXT4 gyors commit funkciójának gyorsabb és skálázhatóbb lett.
-
Két fontos változás az exFAT-ban az befejező pontok engedélyezése az elérési utakban és a "VolumeDirty" törlésének megszüntetése, mivel ez fontos a tárolóeszköz élettartamának mesterséges lerövidülésének elkerülése érdekében.
-
További fejlesztések az XFS-hez.
-
NFSD támogatás az NFSv4 születési idő fájlattribútumához a fájlok létrehozásának idejére.
-
Az F2FS teljesítményének javítása.
-
Új IO_uring funkciók és gyorsítások.
-
Számos blokk- és NVMe-optimalizálás, beleértve a hatékonyabb I/O-t és alacsonyabb terhelést.
-
Intel Raptor Lake hangtámogatás.
-
AVX gyorsítás az SM3 kripto útvonalhoz, valamint különböző ARM optimalizációk a kripto alrendszer más részein.
-
A DAMON révén elérhetőa a "DAMOS" sysfs konfigurációvezérlő felület.
A Linux 5.18 rengeteg izgalmas fejlesztést tartogat az új hardvertámogatástól kezdve az extra szoftverfunkciók engedélyezéséig, a rendszer biztonságának fokozásán végzett véget nem érő munkától kezdve a különböző alacsony szintű fejlesztésekig. Mint a legtöbb ciklusban az utóbbi időben, az Intel és az AMD továbbra is uralja a változásnaplókat az új hardvertámogatással és a meglévő hardvertámogatás javításával. Nagyszerű látni, hogy az AMD az utóbbi időben egyre nagyobb mértékben lép fel, és több hardveres fejlesztéssel járul hozzá a kernelhez - és mindezt időben teszi -, míg az Intel folytatja a két évtizedes sorozatát a Linux kernelhez való vezető hozzájárulások terén. Az Intel ebben a ciklusban bevezette a vitatott Software Defined Silicon "SDSi" meghajtóját, új meghajtókat a Hardware Feedback Interface (HFI) és a Platform Environment Control Interface (PECI) számára, engedélyezte a CET Indirect Branch Tracking (IBT) biztonsági funkcióját, és tovább javította a DG2/Alchemist diszkrét grafikus meghajtó támogatását.
A Linux 5.18 funkciólistájában részletesebb áttekintést kaphat a kernel ezen verziójának összes változásáról.
Ahogy Linux írta:
No unexpected nasty surprises this last week, so here we go with the 5.18 release right on schedule. That obviously means that the merge window for 5.19 will open tomorrow, and I already have a few pull requests pending. Thank you everybody. I'd still like people to run boring old plain 5.18 just to check, before we start with the excitement of all the new features for the merge window. The full shortlog for the last week is below, and nothing really odd stands out. The diffstat looks a bit funny - unusually we have parsic architecture patches being a big part of it due to some last-minute cache flushing fixes, but that is probably more indicative of everything else being pretty small. So outside of the parisc fixes, there's random driver updates (mellanox mlx5 stands out, again likely because everything else is small), some other minor architecture fixes, some core networking, and some tooling stuff. And random small noise. People who really care for the details please just scroll down...
(kép)
Hozzászólások
Futex
Beküldte Balazs_B -
Értékelés:
Kíváncsi vagyok, hogy ez a Futex milyen javulásokat eredményet majd a jövőben....
Elnézést kérek mindenkitől de a szakcikkeket nem néztem át róla. Valami tudná egy laikusnak összegezni hogy ez mit fog jelenteni?