Edge Kernel újdonságok

kami911 képe

Ez edge telepítő által kínált frissebb Linux kernelek újdonságai (Linux kernel 5.15 - Linux kernel 6.1)

Linux kernel 6.1 újdonságok

  • A Rust programozási nyelv kezdeti támogatása
    Ez a kiadás hozzáadja a Rust programozási nyelv támogatását. A Rust célja, hogy egy modern rendszerprogramozási nyelvet biztosítson bizonyítható memóriabiztonsággal, szemétgyűjtő használata nélkül, így kiküszöbölve a biztonsági sebezhetőségek leggyakoribb forrását jelentő hibák egy egész osztályát. Ez a kiadás kezdeti támogatást tartalmaz a Rust programozási nyelv számára, amely a későbbi kiadásokban továbbfejlesztésre kerül.
    (Cikk)
  • Többgenerációs LRU a jobb memóriakezelés érdekében
    Amikor a programok megpróbálnak több memóriát használni, mint amennyi rendelkezésre áll, a Linux kernelnek döntést kell hoznia arról, hogy a memória mely részei, és melyik program(ok)tól, költözzenek a memóriából swapolásra vagy kiürítésre. Ez a folyamat dönti el a kernel gyorsítótárazási politikáját és a memória túlköltésének képességét. A Linux jelenlegi memóriakezelő alrendszere úgy próbál helyes döntést hozni, hogy LRU (Least Recently Used) listákat vezet a memóriaoldalakról. Ez a módszer azonban nem mindig a legjobb döntéseket hozza. A többgenerációs LRU egy alternatív LRU implementáció, amely optimalizálja a lapok visszavételét és javítja a teljesítményt memóriaterhelés alatt. Ez a megvalósítás nem helyettesíti a jelenlegi memóriakezelési sémát, a fordításkor konfigurálható.
    (Cikk, Cikk, Rendszergazdai útmutató, Tervezési dokumentáció)
  • KMSAN, a kernel memóriatisztító
    A KMSAN egy dinamikus hibadetektor, amelynek célja a nem inicializált értékek használatának megtalálása. A fordítói eszköztáron alapul, és meglehetősen hasonlít a felhasználói tér MemorySanitizer eszközéhez. Fontos megjegyzés, hogy a KMSAN-t nem produktív használatra szánják, mert drasztikusan növeli a kernel memória lábnyomát, és lelassítja az egész rendszert.
    (Dokumentáció, cikk)
  • A KCF integritási séma támogatása
  • Memóriaréteg-javítások
  • A modern rendszerekben a RAM több féle tulajdonságú chipre osztható, amelyek a hozzáférő CPU-tól függően gyorsabb vagy valamivel lassabb sebességgel érhetők el. A modern rendszerek még több RAM-szintet adnak hozzá. Ez azt jelenti, hogy az adatok egyik vagy másik csomóponthoz tartozó memóriaoldalra történő elhelyezése komolyan befolyásolhatja a teljesítményt. Ez a kiadás tartalmaz néhány fejlesztést a memóriakezelő alrendszerben. Az első egy új algoritmus, amely segít azonosítani, hogy mely memóriaoldalak a sűrűn használtak egy csomópontban. Így a rendszer a sűrűn használt (forró), és a ritkán használt (hideg) memóriaoldalakat a megfelelő csomópontokba tudja előléptetni, illetve átirányítani. A második változtatás a felhasználói tér számára is elérhetővé teszi a rétegzési (tiering) információkat, és lehetővé teszi a felhasználók számára azok konfigurálását.
    (cikk)
  • BPF funkciók: pánik segédprogram, PKCS#7 aláírásellenőrzés, memória allokátor. A szokásos módon ez a kiadás is tartalmaz néhány BPF funkciót:
    • Mivel néhány típusú BPF program képes csatolni a kprobe és a fentry programokat, ismeretlen környezetben is futhatnak, ahol a sima kmalloc() hívása nem biztos, hogy biztonságos. Emiatt egy kis memóriapuffer van lefoglalva, hogy ilyen kontextusokban is lehetővé tegye a kiosztást
      (cikk)
    • Néhány hibakeresési technika memóriadumpot igényel, ez a kiadás lehetővé teszi a pánik kiváltását az eBPF-ből, hogy a memóriaállapot a megfelelő pillanatban dumpolható legyen.
      (cikk)
    • Vannak más funkciók is, mint például a PKCS#7 aláírás-ellenőrzési funkciók vagy egy felhasználó-tér-kiadó gyűrűs puffertérkép típus.
  • Maple trees, egy hatékonyabb fastruktúrájú-adatszerkezet
    A Maple trees egy RCU zárolásmentes munkavégzés (read-copy-update) tartomány alapú B-fa adatszerkezet, amelyet a modern processzorok gyorsítótárának hatékony használatára terveztek. A kernelben számos olyan hely van, ahol egy nem átfedő tartomány alapú fa előnyös lenne, különösen egy egyszerű interfésszel rendelkező megvalósítással. A teljesítményt javító, más adatszerkezetekkel ellátott rbtree vagy a nem átfedő tartományok követésére szolgáló intervallumfa felhasználói profitálnak a legtöbbet a Maple trees-ből.
    (cikk)
  • A folyamat számára engedélyezett, hogy önkéntes módon vonják össze a memóriát egy Transparent Hugepage-be
    Ez a fejlesztés egy olyan mechanizmust biztosít a felhasználói térben futó program számára, amely folyamat-kontextuson belül előidézheti a memória alkalmas tartományainak Transparent Hugepage, nagyméretű memórialapokká való összevonását, lehetővé téve ezzel a felhasználók számára, hogy saját költségükön szigorúbban ellenőrizzék saját Hugepage-használati politikájukat. A javasolt interfész egy új madvise(2) módot ad hozzá, a MADV_COLLAPSE-t, és kihasználja az új process_madvise(2) hívást.
    (cikk)
  • PSI-fejlesztések: csoportonkénti PSI, IRQ/SoftIRQ PSI, optimalizálás
    A Pressure Stall Information részletes képet ad a rendszer aktuális erőforrás-használatáról. Ez a fejlesztés tartalmazza az opcionális per-cgroup PSI elszámolás (némi overhead árán biztosított) támogatását, egy új PSI_IRQ to IRQ/SOFTIRQ nyomásértéket, és néhány optimalizálást.
    (Dokumentáció)
  • Btrfs teljesítmény fejelsztések
    Ez a kiadás tartalmaz néhány olyan változtatást, amelyek sokkal gyorsabbá teszik a Btrfs-t, amikor aszinkron pufferelt I/O-t végez az io_uring használatával. Továbbá javult a teljesítmény a normál pufferelt I/O során is, drasztikusan gyorsabbak lettek az lseek és a FIEMAP (extent mapping information) kasználata is. Előkészületek kezdődtek egy külön blokkcsoport-fa implementálására, amely felgyorsítja a mountolási időket, javított inode naplózás (+25%-kal gyorsabb dbench teljesítmény, -21% maximális késleltetés).
  • A Linux 6.1 kiírja azt a CPU-magot, ahol szegmentációs hiba lép fel. Ha a Linux rendszergazdák úgy találják, hogy a szegmentációs hibák folyamatosan ugyanazokon a CPU-kon/magokon fordulnak elő, az egy hibás processzor jele lehet.
  • Az AMD IOMMU v2 laptábla támogatás beépítése az AMD vIOMMU hardveres IOMMU virtualizáció részeként az EPYC 7002 „Rome” és újabb processzorok esetében.
  • AMD CPU cache-to-cache éújdonságais memóriajelentés és teljesítményadatok az újabb AMD processzorokkal és LbrExtV2 támogatás a Zen 4 CPU-khoz.
  • Az AMD Platform Management Framework (PMF) összevonásra került a jobb hő-, energiaés zajkezelés érdekében a következő generációs AMD Ryzen eszközökkel.
  • Az új ARM SoC-k és különböző új ARM eszközök támogatása.
  • Gyorsabb Intel memóriahiba dekódolás.
  • AMD P-State javítások és s2idle javítások az AMD Rembrandt laptopokhoz.
  • ARM-támogatás a Spectre-BHB mitigáció futás közbeni letiltásához a nagy teljesítményköltségek miatt.
  • Az Intel Meteor Lake fejlesztések további bevezetése.
  • Javított Intel GPU firmware kezelés.
  • Különböző Intel Arc Graphics DG2/Alchemist fejlesztések.
  • AMDGPU gang submit támogatás, amelyre a RADV Vulkan meghajtónak van szüksége a megfelelő mesh shader támogatáshoz.
  • Mode2 reset támogatás az RX 6000 sorozatú RDNA2 GPU-k számára.
  • Az AMD RDNA3 GPU-k támogatását lehetővé tevő fejlesztések bevezetése.
  • A RISC-V alapértelmezett kernelkonfigurációja lehetővé teszi a különböző CD-ROM képformátumok használatát. Nem mintha valószínű, hogy a RISC-V rendszerével fizikai CD-meghajtót fog kezelni, de a telepítési ISO-lemezképek és egyéb adathordozók lehetnek ISO9600 / Joliet / ZISOFS fájlrendszer formátumban is.
  • FSCache-alapú megosztott tartománytámogatás az EROFS számára, a kezdeti cél a konténer felhasználási esetek.
  • EXT4 javítások és teljesítményoptimalizálás.
  • A statx() támogatása a közvetlen I/O igazítás részleteinek jelentésére.
  • A Logitech HID++ nagy felbontású görgetés támogatásának automatikus felismerése és a HID++ engedélyezésének megkísérlése minden Logitech Bluetooth eszköz esetében.
  • Hangtámogatási kiegészítések a Sound Open Firmware kódhoz hozzáadott AMD Rembrandt, az új AMD "Pink Sardine" audio társprocesszor támogatása és az új Apple MCA SoC illesztőprogram az új Apple Silicon eszközök hangtámogatásához.
  • WiFi Extremely High Throughput (EHT) és Multi-Link Operation (MLO) előkészületek a WiFi 802.11be és a WiFi 7 számára.
  • Az Intel Habana Labs Gaudi2 engedélyezésének folytatása a következő generációs AI gyorsítóhoz.
  • Bemeneti vezérlő az IBM Operation Panel számára.
  • Hozzáadásra került egy PINE64 PinePhone (Pro) billentyűzet-illesztőprogram a Linuxon történő bevitelhez.
  • Sok más Linux laptopos fejlesztés.
  • Intel Meteor Lake Thunderbolt támogatás.
  • USB4 végponttól végpontig tartó áramlásvezérlés támogatása a Linux kernel Thunderbolt hálózati vezérlőjével.
  • Az „olcsó klón” Nintendo kontrollerek jobb kezelése.
  • Új médiavezérlők és két meglévő vezérlő került ki a stagingből.
  • Különböző hardverfelügyeleti illesztőprogram kiegészítések.
  • A Xen mostantól támogatja a grant-alapú VirtIO-t x86_64 esetén.
  • VirtIO blokk „biztonságos törlés” támogatása, valamint a vDPA funkció provisioning támogatása.
  • Gyorsabb fájlmegosztás a host és a vendég VM-ek között a 9P protokollt használók számára a jelentős 9P VirtIO optimalizációnak köszönhetően.
  • A Linux 6.1 alapértelmezés szerint figyelmeztet a W+X kernel leképezésekre, és egy jövőbeli kernel kiadásban megtiltja, hogy ilyen leképezések egyáltalán létrejöjjenek.
  • EFI-vel kapcsolatos fejlesztések a bizalmas (trusted) számítástechnika támogatására.
  • Retpolines hardaning, hogy minden feltétel nélküli ugrás után INT3 legyen kiadva.
  • Megkezdték az SELinux a futásidejű letiltás támogatásának kivezetését.
  • Az RNG és a kriptokód javításai.
  • Futásidejű figyelmeztetések a cross-field memcpy()-re, amellyel az elmúlt években a kernel számára az összes memcpy-alapú puffer túlcsordulást elkapta volna.
  • További kódtisztítások a PREEMPT_RT beolvasztása előtt. A valós idejű / PREEMPT_RT munka azonban még nem került a fővonalba beolvasztásra, és még mindig a printk átdolgozása tartja fel.
  • Általános EFI tömörített boot támogatás.
  • A nagy sebességű soros / TTY over IEEE-1394 Firewire meghajtó eltávolítása.
  • A Linux 6.1 nem támogatja már a régi a.out kód futtatását.
  • A régi DECnet hálózati kód eltávolítása.
  • Az MGLRU beolvasztásra került a Linux kernel lapvisszavételi kódjának átdolgozására, ami jobb felhasználói élményt eredményez, különösen a korlátozott RAM-kapacitású Linux-rendszerek esetében. A benchmark eredmények ígéretesnek tűnnek, és ezt a funkciót már beillesztették a Chrome OS és az Android eszközökbe.
  • Az IBM POWER/PowerPC kód 64 bites KFENCE-vel, rendszerhívás-wrapperek és csak a végrehajtást támogató memóriával vértezték fel
  • A LoongArch CPU port TLB/cache kód átdolgozást, QSpinLock támogatást, EFI bootot, perf események támogatását, Kexec kezelést, eBPF JIT támogatást és számos más funkciót kínál ehhez a kínai CPU architektúrához.
  • A Linux 6.1 elhagyja a BF16 támogatást a Cortex-A510 processzorok számára egy hardveres probléma miatt, amelyet egyébként nem lehet Linuxon megkerülni.
  • Számos egyéb hardvertámogatási kiegészítés.

Linux kernel 6.0 újdonságok

  • Az Intel Arc Graphics diszkrét GPU-k, mint az A750 és az A770, a Linux 6.0 kernel i915 DRM kernel illesztőprogramja működnek! De ez még kísérleti a Linux 6.0-ban, így a „force_probe” opciót kell engedélyezni. De legalább a Linux 6.0-val már lehetséges az új Intel asztali diszkrét grafikus kártyáknak a használata, egy frissített Mesa stack-kel párosítva együtt.
  • További AMD RDNA3 illesztőprogram fejlesztések, ami remélhetőleg elég ahhoz, hogy a közelgő Radeon RX 7000 sorozatú grafikus kártyákkal működjön. Majd a megjelenéskor meglátjuk, de remélhetőleg minden szükséges bit a helyén van.
  • Landolt a „Dummy Wait” problémát javító AMD sebességnövelő javítás
  • Qualcomm Snapdragon 8xc Gen3 támogatás, valamint korai támogatás a Lenovo ThinkPad X13s Arm laptophoz. Ez a munka a mainline-ban még korai formában van, de legalább használhatóvá válik, és egy újabb Arm Linux laptop opciót nyit meg.
  • Új SOC-ok támogatása:
    • NXP i.MX93 SoC
    • Allwinner H616
    • Marvell Prestera 98DX2530
    • Nuvoton NPCM8XX
    • Sunplus SP7021
    • Google Chameleon v3
    • Számos egyéb ARM alapú Chromebook-ok támogatása.
  • Raspberry Pi 4 V3D támogatás (3 évvel a Pi 4 megjelenése után).
  • OpenRISC PCI támogatás.
  • Új bővítmények támogatások a RISC-V számára.
  • Különböző ütemező változások, beleértve néhány NUMA kiegyensúlyozó javítást az AMD Zen számára, valamint az AMD CPU-k mostantól az MWAIT-ot részesítik előnyben a HALT-tal szemben.
  • Különböző Intel Raptor Lake kiegészítések, például a TCC hűtési vezérlőhöz, Raptor Lake P a RAPL vezérlőben, Raptor Lake USB4 / Thunderbolt és más hiányzó Raptor Lake eszközök támogatása. Van néhány kezdeti Meteor Lake támogatás is, például az hanggal kapcsolatban.
  • Az AMD Ryzen 7000 „Raphael” platform hang-illesztőprogramjának támogatása.
  • IO_uring user-space block driver támogatás, különböző IO_uring optimalizációk és egyéb ígéretes I/O-val kapcsolatos munkák: például a Btrfs Send Protocol v2.
  • Az Intel Habana Labs Gaudi 2 gyorsítók kezdeti támogatása.
  • A H.265/HEVC média user-space API mostantól stabilnak tekinthető.
  • Futtatási idejű ellenőrzés a biztonságkritikus rendszerek számára.
  • Biztonsági szempontból a Linux kernel 6.0 megvalósítja a véletlenszám seed-ek lekérését a bootloader beállítási adataiból az x86 és m68k kernelekhez,
  • A SafeSetID biztonsági modul támogatása.
  • A setgroups() módosítások ellenőrzésére.
  • Az ARIA titkosítási algoritmus támogatása.
  • A Linux 5.19 tartalmazta a kínai LoongArch CPU-architektúra kezdeti támogatását. A hiányzó illesztőprogramok miatt azonban lehetetlen volt működő rendszert indítani. A LoongArch CPU-knak most már el kell indítaniuk a Linuxot ezzel a kiadással. Nem szabad elfelejteni, hogy a Loongson a Linuxot készíti elő a laptopjaihoz. Így most már van meghajtó kódja a Linux Kernel 6.0-ban.
  • Számos egyéb hardvertámogatási kiegészítés.

Linux kernel 5.19 újdonságok

  • Késői mikrokód betöltés x86/x86_64 esetén alapértelmezés szerint letiltva. A felhasználóknak ajánlott a CPU mikrokód korai betöltése.
  • Számos Intel energiagazdálkodási és hőkezelési frissítés - beleértve egy javítást a felforrosodó Linux laptopok ellen, amelyek alvás közben lemerítik az akkumulátort.
  • A CPUID funkciók könnyebb törlése.
  • Az AMD SEV-SNP az AMD EPYC 7003 „Milan” processzorokkal bevezetett Secure Encrypted Virtualization (SEV) bevezetésre került.
  • Az elavult x86 a.out támogatás eltávolítása.
  • Az Intel-féle In-Field Scan (IFS) a Kernelbe beolvasztásra került az adatközpontban történő telepítés előtti CPU-szilíciumtesztek megkönnyítésére vagy az idővel történő szilíciumtesztelésre szolgál, hogy segítsen az ECC-ellenőrzések vagy más meglévő tesztek által fel nem fedezett hardverproblémák felderítésében.
  • A LoongArch a Linux kernel új CPU portjaként került beolvasztásra. Azonban, mint említettük, még nincs támogatás a LoongArch rendszerek tényleges indításához, mivel néhány illesztőprogram még nem áll készen a Kernelbe törtébő beolvasztásra.
  • A PolarBerry RISC-V FPGA lapka támogatása, amely a PolarFire SoC-t használja.
  • Támogatás 32 bites (RV32) binárisok futtatásához RISC-V 64 bites (RV64) platformon.
  • A 12 éves Arm multiplatformos erőfeszítések megvalósítása a régi ARMv4T/ARMv5 kód átalakításával a multiplatformos kernel-építésekhez. Továbbá multiplatform ARM támogatás a régi Intel XScale/PXA hardverekhez.
  • A HPE GXP SoC-vel kiegészül a HPE GXP SoC, amely a hamarosan megjelenő HPE szervereken a baseboard management controller (BMC) feladatokat látja el.
  • ARMv9 Scalable Matrix Extension támogatás. A Scalable Matrix Extension (SME) az SVE/SVE2-re épül.
  • Teljesítmény változások az AMD oldaláról a Zen 4 IBS kiterjesztésekkel, az AMD PerfMonV2-vel, és az AMD Zen 3 Branch Sampling (BRS) funkcióval.
  • A régi Renesas H8/300 CPU architektúra eltávolítása. Az architektúra régi, és évek óta nem karbantartott a kernelben, egyszer már kikerült a Kernel főágából.
  • Közel félmillió sor új kód került a grafikus és megjelenítőkkel foglalkozó alrendszerbe. Az új AMD IP-blokk felépítés szerint az AMD GPU-k nem fix felépítéssel fognak kernel támogatást kapni, hanem az illesztőprogram érzékeli a rendelkezésre állíó erőforrások típusát és számát. Ez az új megközelítés először az AMD RDNA3 grafikus processzorhoz lesz elérhető, amely az év folyamán jelenik meg a következő generációs CDNA Instinct gyorsítókkal együtt.
  • Intel DG2/Alchemist PCI ID-k hozzáadása.
  • Intel Raptor Lake P grafikus támogatás, a meglévő kódútvonalakat kiegészítve.
  • A compute engine ABI mostantól a DG2/Alchemist hardverek számára is elérhető.
  • A DG2/Alchemist GPU-k energiafogyasztási furcsaságának javítása, amely remélhetőleg biztosítja a PCIe Active-State Power Management (ASPM) sikeres engedélyezését.
  • ASpeed AST illesztőprogram-támogatás DisplayPort-hoz.
  • Rockchip VOP2 támogatás.
  • Egy új belépő szintű RDNA2 GPU, a „Beige Goby” változat támogatása.
  • MediaTek Vcodec támogatás a stateless VP8 és VP9 kodekekhez.
  • Az Intel Trust Domain Extensions (TDX) összeolvasztották a már meglévő régi kóddal.
  • Az XSAVEC támogatása VM vendégként való futtatáskor.
  • A Microsoft jelentősen csökkenteni tudta a Hyper-V vendégindítási idejét a sok GPU-val rendelkező nagy Azure VM-ek esetében.
  • A Linux EFO támogatása a VM-titkokhoz (secret) való hozzáféréshez a bizalmas számítástechnikai (CoCo) hipervizorok, például az AMD SEV esetében.
  • KVM és Xen frissítések.
  • Egy új virtuális m68k gép cél virtualizációs használatra, amely a Google Goldfish-en alapul, és sokkal jobb, mint a meglévő Motorola 68000 emulációs lehetőségek.Számos figyelemre méltó Btrfs fájlrendszer-fejlesztés, a 4K-nál nagyobb PAGE_SIZE értékű aloldalak támogatásától kezdve a Btrfs natív RAID 5/6 módokon át.
  • Apple M1 NVMe vezérlő támogatása.
  • Sok új kód az XFS fájlrendszerhez.
  • FAT16/FAT32 fájlok létrehozásának idejének jelentése a statx rendszerhíváson keresztül.
  • Az NTFS3 kernel-illesztőprogram javításait megérkezett, hogy végre megoldódjon néhány karbantartási problémát. Ez az az NTFS kernel-illesztőprogram, amelyet a Paragon Software tavaly adott hozzá a kernelhez.
  • Különböző F2FS javítások és rutin frissítések az EROFS és EXT4 számára.
  • NFSv3 udvarias kiszolgáló (Courteous Server) támogatása.
  • eMMC támogatás a TRIM használatához a szektorok törléséhez.
  • Az IDMAPPED rétegek támogatása az OverlayFS-szel.
  • Nagy teljesítményjavítás az exFAT számára.
  • Számtalan IO_uring javítás.
  • Az Apple eFuses illesztőprogramot összevonták az Apple M1 SoC-kre programozott eFuses-ek olvasására, a kalibrációs adatok tárolására.
  • Folytatódott a munka az Intel Habana Labs AI illesztőprogramján.
  • Támogatás a firmware frissítések sysfs-en keresztüli kezdeményezéséhez az Intel FPGA PCIe kártyák és más lehetséges felhasználási esetek számára.
  • Támogatás a csatlakoztatott eszköz fizikai helyének jelentésére, amennyiben az ACPI-n keresztül láthatóvá válik. Ez segíthet megjegyezni, hogy egy csatlakoztatott komponens hol van a szerverhez vagy a rendszerhez képest, több port és hely stb. esetén.
  • A Raspberry Pi Sense HAT joystick vezérlő támogatása.
  • Chrome OS EC illesztőprogram-támogatás a Framework Laptophoz.
  • A Compute Express Link (CXL) támogatás folyamatos engedélyezése a következő generációs szerverek számára.
  • A Lenovo ThinkPad Trackpoint II billentyűzet jobb támogatása.
  • A Keychron C-Series/K-Series billentyűzetek megfelelő kezelése.
  • Wacom-illesztőprogram-fejlesztések és egyéb HID-eszköz fejlesztések.
  • Az Intel AVS audió vezérlője a régi Skylake / Kabylake / Apollo Lake / Amber Lake korszak audió vezérlő kódjának átírásaként érkezett a kernelbe.
  • Folyamatos hardverfelügyeleti fejlesztések az ASUS alaplapi eszközökhöz és kiegészítések az Aquacomputer eszközökhöz.

Linux kernel 5.18 újdonságok

  • 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
  • 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.

Linux kernel 5.17 újdonságok

 

Linux kernel 5.16 újdonságok

  • Új futex_waitv() rendszerhívás a jobb játékteljesítmény érdekében.
    A FUTEX2 nagy előrelépés a Linuxon futó windows-os játékok számára, hogy jobban megfeleljen a Windows kernel funkcionalitásának. A Proton / Wine frissítései szükségesek ahhoz, hogy ezt a rendszerhívást és annak lehetséges teljesítményelőnyeit ki lehessen használni. Cikk: Short subjects: Realtime, Futexes, and ntfs3, Dokumentáció: Documentation/userspace-api/futex2.rst
  • Fájlrendszer-állapotjelentés a fanotify segítségével
    Ez a kiadás egy új FAN_FS_ERROR fanotify eseménytípussal bővül a fájlrendszer egészére kiterjedő hibajelentésekhez. Ezt a fájlrendszer állapotfigyelő démonok hivatottak használni, amelyek figyelik ezeket az eseményeket, és lépéseket tesznek (értesítik a rendszergazdát, elindítják a helyreállítást), amikor egy fájlrendszer-problémát észlelnek. Csak az első hibát igyekszik jelenteni, amely az utolsó értesítés óta történt egy fájlrendszernél, és a további hibákat egyszerűen megszámolja. Ez biztosítja, hogy a legfontosabb információk soha ne vesszenek el. Jelenleg az egyetlen fájlrendszer, amely támogatja ezt az interfészt, az Ext4. Dokumentáció: Documentation/admin-guide/filesystem-monitoring.rst
  • Memória lapok infrastruktúrája a gyorsabb memóriakezelés érdekében
    A rendszer memóriájának kezeléséhez a rendelkezésre álló RAM memóriát kis egységekre, úgynevezett lapokra osztják. Ezeknek a lapoknak a mérete az architektúrától függően változik, de x86-os rendszereken ez KB nagyságrendű (4 KB). A több tíz GB-os modern rendszerekben egy ilyen kis lapméret hatalmas mennyiségű lapnak felel meg, amelyet nehéz kezelni. A probléma megoldására a Linux kernel kifejlesztette az összetett oldalak koncepcióját, amelyek olyan lapstruktúrák, amelyek egynél több fizikai oldalt tartalmazhatnak. De ezeknek az összetett oldalaknak a működése nem egyértelmű, és hibára érzékeny API-kat tartalmaz, amelyek némi többletterhelést is okoznak az egész kernelben.
    Ez a kiadás bevezeti az oldallapok koncepcióját, amelyek olyanok, mint az összetett oldalak, de jobb szemantikával. A lapok használata a rendszermag néhány alapvető részében teljesítményjavulást eredményez a gyakori munkaterhelésekben. Ez a kiadás tartalmazza a lapok alapvető infrastruktúráját, és átalakítja az alapvető memóriakezelő alrendszer és a lap gyorsítótár néhány részét. A jövőbeni kiadások átalakítanak néhány fájlrendszert és bevezetik a többoldalas lapokat. Cikk: Clarifying memory management with page folios, és The folio pull-request pushback
  • Fürt ütemező támogatás hozzáadása a feladatütemezőhöz
    Egyes gépek olyan hardvertopológiával rendelkeznek, amelyben néhány CPU-mag, jellemzően 4 mag, osztozik azonos gyorsítótáron (például: ARM Kunpeng 920, x86 Jacobsville). E speciális topológia ismerete drasztikusan javíthatja a feladatütemezési döntéseket. Ez a kiadás a feladatütemezőt kiegészíti a klasztertipológiák támogatásával, amely nagyobb memória-sávszélességet hozhat és csökkenti a gyorsítótárak közötti versenyhelyzetet.
  • AMX utasítások támogatása
    Ez a kiadás megkapta az Intel Advanced Matrix Extensions (AMX) utasításkészlet támogatást. Ezek a bővítmények hamarosan a szervereken is megjelennek. Az AMX konfigurálható TMM „TILE" regiszterekből és az ezeken működő új CPU utasításokból áll. A TMUL (Tile matrix MULtiply) az első olyan operátor, amely kihasználja az új regiszterek előnyeit, és a jövőben további utasításokkal bővül.
  • DAMON-alapú proaktív memória-visszanyerés, műveleti sémák és fizikai memóriafelügyelet. Dokumentáció: Documentation/admin-guide/mm/damon/reclaim.rs és Documentation/admin-guide/mm/damon/usage.rs
  • Az lemezre írási torlódások javítása
  • Amikor egy folyamat sok adatot ír, és a lemez nem tud lépést tartani (azaz „túlterhelt"-té válik), a folyamatnak nem szabad megengedni, hogy további írási kéréseket intézzen, amíg a jelenlegi írási kérések be nem fejeződnek. A zsúfoltság jelzésére használt mechanizmusokat egy új megközelítéssel váltják fel. Cikk: Replacing congestion_wait()
  • DisplayPort 2.0 támogatása az AMDGPU-illesztőprogramot használó GPU-khoz. Már a DisplayPort 2.0 támogatással rendelkező következő generációs GPU-k előtt a kernel része lett.
  • Az AMDGPU USB4-be történő kijelző adatkapcsolat beágyazása a Rembrandt, azaz a Yellow Carp kódnevű APU megjelenésének előkészítéseként.
  • Az újabb AMD GPU-k új kódútat használják az eszközszámozáshoz.
  • Az AMD GPU-k teljesítményének jelentő javulása, a mérések szerint.
  • AZ AMD egységekkel szerelt laptopban, másodlagos GPU-ként használt AMD GPU-k DRI_PRIME teljesítmény növekedése, a mérések szerint.
  • VirtIO Context Types támogatás: több felhasználási környezet támogatása a VirtIO virtuális grafikus vezérlővel. A kontextustípusok a virtio-gpu 3D részét bővíthetővé teszik, megnyitva az utat az új kialakítások és API-k előtt.
  • A Nintendo Switch kontroller-illesztőprogramjai, a Switch Pro és a Joy-Cons kontrollerekhez, végre a kernel részévé váltak.
  • Jobb támogatás a Sony PlayStation 5 kontrollerhez.
  • Jobb támogatás a HP Omen laptopokhoz.
  • Mostantól támogatott az Intel Gen12 alapú grafikus eszközök (Xe).
  • Az Intel Alder Lake S grafikus alrendszer támogatása most már stabilnak tekinthető
  • Az intel DG2/Alchemist grafikus vezérlőhöz is van kezdeti támogatás már.
  • Az AMD EPYC CPU-k mostantól titkosított Secure Encrypted Virtualization SEV/SEV-ES azonos gépen belüli élő migrációt a KVM esetében.
  • A RISC-V alapértelmezett rendszermag-összeállítása mostantól lehetővé teszi a nyílt forráskódú NVIDIA-illesztőprogram használatát.
  • A KVM RISC-V hypervisor támogatása a jövőbeni RISC-V processzorok számára, amelyek rendelkeznek az adott hypervisor kiterjesztés támogatásával.
  • Raspberry Pi Compute Module 4 támogatás a kernelben.
  • A MIPS Netlogic SoC-k eltávolítása.
  • Snapdragon 690 és más új ARM hardverek támogatása, mint például a Rockchip RK3566 és RK3688.
  • Hang támogatás a Yellow Carp és a Van Gogh APU audio társprocesszor működéséhez.
  • Az Apple Magic billentyűzet 2021-es verziójának jobb támogatása.
  • Új Realtek 802.11ax illesztőprogram, jobb hardvertámogatás.
  • Javul a Microsoft Surface Pro 8, Surface Laptop Studio és a Surface Go 3 támogatása.
  • A Xiaomi Mi vezeték nélküli egér oldalsó gombjainak mostantól rendeltetésszerűen kell működniük.
  • A Playstation 5 kontrollereinek DualSense LED-jei most már működni fognak (a Linux kernel 5.12 verzió óta illesztőprogrammal támogatott).
  • A Wacom legújabb Intuos rajztáblái is támogatottá váltak.
  • A Nitrokey FIDO U2F szintén javított változatot, azonnali működést kapnak.
  • Egy csomó más fájlrendszer frissítés, kernel finomítások, illesztőprogram kiegészítések és hálózati fejlesztések is szerepelnek az újdonságok listáján.

Linux kernel 5.15 újdonságok

  • Az új NTFS, az eredetileg a Paragon Software által fejlesztett kód, „NTFS3” fájlrendszer-illesztőprogram beolvasztásra került.
  • A KSMBD egy olyan kernelen belüli SMB fájlkiszolgálónak lett beolvasztva, amelynek célja, hogy nagy teljesítményű legyen, támogassa az RDMA és más, a kernel-térben könnyebben megvalósítható műveletek körüli fejlett funkciókat, és pehelysúlyúbb legyen, mint a Samba.
  • Sok új RDNA2 PCI azonosító, a AMD Radeon RDNA2 grafikus kártya frissítéséhez.
  • Az Intel Xe HP és a DG2/Alchemist grafikus hardverek kezdeti támogatása, bár ennek fejlesztése még folyamatban van.
  • Az Intel Alder Lake körüli folyamatos fejlesztés, különböző PCI ID-k hozzáadásával és egyéb engedélyezési munkálatokkal.
  • Az AMD Zen 3 APU hőmérséklet-felügyelet beolvasztása, és egy kicsit előremutatóbb a Yellow Carp / Rembrandt APU hőmérséklet-felügyelet is már jelen van a k10tempben modulban.
  • Az Apple M1 IOMMU vezérlője is hozzá lett adva a többi folyamatban lévő munka mellett, ami az Apple Silicon fővonalbeli támogatásának Linux kernellel való felhozatala körül zajlik. A Linux 5.16-hoz további fejlesztésekre számíthatunk.
  • ASUS ACPI platformprofil támogatás, hogy az újabb ASUS laptopokon működjön a teljesítmény/termikus beállító gomb.
  • Az AMD Van Gogh APU audió vezérlője beolvasztva, amelyből többek között, a Steam Deck hardver is működésére bírható.
  • A Realtek RTL8188EU WiFi illesztőprogramot beolvasztották a korábbi Realtek WiFi illesztőprogram helyettesítésére.
  • A PREEMPT_RT zárolási kód hozzáadásával, a Linux kernelhez korábban még hiányzó valós idejű javítások nagy része beolvasztásra került. Nagyszerű látni, hogy a mainline kernel szinte már tartalmazza az összes RT-funkciót!
  • Az Amazon DAMON-ját beolvasztották, mint az adathozzáférés felügyeleti keretrendszert, amelyet proaktív memória-visszanyerés és egyéb célok érdekében folytatnak.
  • Az új „process_mrelease” syscall a leálló folyamatok memóriájának gyorsabb felszabadítására.
  • Opciónális L1 adatcache flushing kontextusváltáskor a biztonság érdekében. Szigorúan opcionális, hogy a a rendszergazdák dönthetnek, a teljesítményre gyakorolt hatásokra negatív hatása miatt.
  • Hardening, amely lehetővé teszi a hívó által használt regiszterek törlését a kernelfüggvényből való visszatérés előtt, a GCC 11+ fordítóoldali támogatására építve.

Források: