Linux 6.16: Új processzorok, brutális EXT4 gyorsulás és GPU támogatások érkeznek

Segítséget kaptál? Szívesen töltöd itt az idődet? Visszajársz hozzánk? Támogasd a munkákat: Ko-fi és Paypal!

kami911 képe

A Linux kernel újdonságai közül a 6.16 verzióra vonatkozóan számos processzor-, grafikus gyorsító- és fájlrendszerekkel kapcsolatos frissítés található, és már első ránézésre is egyértelmű, hogy ez a verzió túlmutat egy szokásos karbantartó frissítésen. Linus Torvalds hivatalosan is bejelentette a Linux 6.16 kernelverzió megjelenését, amely számos újdonságot hoz a teljesítmény, hardvertámogatás és biztonság terén. Látványos gyorsulást kapott az EXT4 fájlrendszer, bekerült az Intel APX és TDX virtualizációs támogatás, valamint az AMD új SEV és P-State fejlesztései. Az NVIDIA Blackwell és Hopper GPU-kat már támogatja az open-source Nouveau driver, míg az OpenVPN DCO kernelmodul gyorsabb titkosított kapcsolatokat tesz lehetővé. Emellett számos frissítés érkezett a RISC-V, LoongArch és Apple Silicon platformokra is, miközben tovább bővült a Rust-alapú kernelkomponensek köre.

Kiemelt újdonságok

XFS támogatás nagy atomi írásokhoz

Ez a kiadás hozzáadja a nagy atomi írások támogatását. Ezek több fájlrendszer-blokk egyidejű, atomi (vagyis vagy az összes blokk íródik, vagy egyik sem) írását jelentik. Ajánlott LWN cikk: An update on torn-write protection

USB hangkimenet kiszervezés támogatása

Évek munkája után ez a kiadás tartalmazza az USB hangkimenet kiszervezés (offload) támogatását. Ez a funkció jelentős energia-megtakarítást tesz lehetővé beágyazott eszközökön, ahol az USB hangfolyam továbbfuthat, miközben a rendszer többi része alvó állapotban van – ez különösen fontos az akkumulátorról működő eszközök számára. Ez a funkció Androidon már különböző megvalósításokban elérhető, most pedig van egy egységes, mindenki által használható implementáció.

Kezdeti támogatás az Intel Trusted Domain Extensions számára

Ez a kiadás hozzáadja az Intel Trusted Domain Extensions (TDX) kezdeti támogatását, amely védi a bizalmas vendég virtuális gépeket a gazda és fizikai támadásoktól azáltal, hogy titkosítja a vendég VM memóriáját. Ez hasonló az AMD SEV-SNP megoldásához, amely már támogatott.

Dokumentáció: Intel Trust Domain Extensions (TDX)
Intel dokumentáció: Intel® Trust Domain Extensions (Intel® TDX)

Lehetővé teszi a TCP adatterhelések nullmásolásos (zero-copy) küldését DMABUF memóriából

Ez a kiadás támogatja az eszközmemóriás TCP TX útvonalat. A Device Memory TCP (beolvasztva a Linux 6.12-ben) lehetővé tette a TCP adatterhelések nullmásolásos fogadását DMABUF memóriaterületre, miközben a csomagfejlécek a normál kernel bufferekbe érkeznek. Az adatok küldése (TX útvonal) eredetileg nem volt része a Device Memory TCP csomagnak a könnyebb átnézhetőség és összeolvasztás miatt, ezt a kiadás most tartalmazza.

Dokumentáció: TX Interface
Ajánlott LWN cikk: Direct-to-device networking (Közvetlen eszközhálózat)

Automatikus, súlyozott, váltakozó (interleaved) memória-allokációs politika

A modern NUMA rendszereken a memória különböző csomópontokból kerülhet kiosztásra, melyek közül egyesek jobb sávszélességi jellemzőkkel bírnak. A Linux lehetővé teszi, hogy minden csomópont különböző súlyokat kapjon az allokációk szabályozásához, de ez a beállítás bonyolult, és nem kezeli a memória hotplug eseményeket. A körkörös (round-robin) allokációk sem veszik figyelembe a sávszélességi adatokat. Ez a kiadás egy automatikus, önhangoló (auto-tuning) szabályozást vezet be, melyben minden csomópont súlyát újraszámolják és felülírják, amikor új sávszélességi adatok érkeznek, akár rendszerindításkor, akár hotplug események során.

Ajánlott LWN cikk: Automatic tuning for weighted interleaving (Automatikus hangolás súlyozott váltakozáshoz)

Intel Advanced Performance Extensions támogatás

Ez a kiadás támogatja az Intel APX-et (Advanced Performance Extensions). Az Intel APX megduplázza az általános célú regiszterek számát 16-ról 32-re, így a kód kevesebb memóriaműveletet igényel, ami jobb teljesítményt és energiahatékonyságot eredményez.

Dokumentáció: Intel APX technikai cikk

Coredump küldés támogatása AF_UNIX socketen keresztül

Ez a kiadás támogatja a coredumpok AF_UNIX socketen keresztüli küldését. Ez a coredump socket lehetővé teszi, hogy a felhasználói tér ne függjön a usermode segédeszközöktől a coredumpok feldolgozásában, és biztonságosabb módot nyújt a kezelésükre, mintha privilegizált coredumping segédeszközökre támaszkodnánk. Ez a funkció egy másik olyan képességre épül, amely lehetővé teszi pidfd-k kiadását a megszűnt (reaped) társ feladatokhoz.

Ajánlott LWN cikk: Slowing the flow of core-dump-related CVEs (A coredumpokat érintő sebezhetőségek lassítása)

Futex fejlesztések

Ez a kiadás támogatást ad egy folyamatlokális hash-hez, amelyet csak az adott folyamat összes szála használ (szemben a futex hash-el, amely alapértelmezésben az egész rendszeren megosztott). Ez a hash kizárólag PROCESS_PRIVATE futex műveleteknél kerül használatra. Emellett támogatás került bevezetésre a FUTEX2_NUMA (futex interfész NUMA-tudatossá tételéhez) és FUTEX2_MPOL (futex interfész memóriapolitikára való kiterjesztéséhez) opciókhoz.

Forrás és kódbeküldés: kernel.org link

Néhány Ext4 teljesítményjavítás

Ez a kiadás tartalmaz néhány teljesítményjavítást a „fast commit” útvonalon, több fájlrendszer-blokk atomi írás támogatását a bigalloc fájlrendszerek számára, valamint nagyobb folio támogatást a normál fájloknál. Ez utóbbi jelentős teljesítményjavulást eredményezhet a megfelelő munkaterheléseknél (például egy nagy, soros I/O műveletnél akár 37%-os javulást).

Fordítási optimalizáció az x86-os helyi CPU-ra

Azoknak a felhasználóknak, akik saját maguk fordítják a kernelt, ez a kiadás bevezeti a CONFIG_X86_NATIVE_CPU opciót, amely a kernel fordítását a -march=native opcióval végzi. Ezáltal a fordító az adott CPU-ra optimalizál, ami szép teljesítménynövekedést eredményezhet.

További újdonságok

A Linux 6.16 funkciólistájában részletesebb áttekintést kaphat a kernel ezen verziójának összes változásáról.

Processzor- és platformtámogatás: új generációs hardverek és fejlettebb virtualizáció

  • Intel APX (Advanced Performance Extensions) támogatása: lehetővé teszi a felhasználói tér számára is az új, hatékony utasítások használatát.
  • Intel TDX host támogatás a KVM-hez (biztonságos Trust Domain Virtualizáció).
  • Intel P-State frissítések: energiatudatos ütemezés a Lunar Lake és Panther Lake SoC-khez.
  • AMD P-State bővítés: kezeli a minimum CPU frekvenciát.
  • AMD Virtual TPM driver: fejlettebb titkosított virtualizációhoz.
  • RISC-V platformon engedélyezhető az AMDKFD ROCm compute driver.
  • LoongArch, Arm SME, és több új Qualcomm Snapdragon X laptop támogatása.
  • AES-XTS gyorsítás AVX-512 utasításkészletre Intel és AMD processzorokon.
  • POWER architektúra dinamikus preempció támogatással.
  • NUMA-hoz kapcsolódó statisztikák, jobb migrációs döntésekhez.
  • Intel Overclocking Watchdog driver (Siemens közreműködéssel).
  • Intel QAT GEN6 támogatás (új generációs QuickAssist hardverhez).
  • Turbostat frissítések: Diamond Rapids és Bartlett Lake CPU-k.
  • Jelentés az AMD Zen alapú rendszerek újraindulási okairól.
  • Elavult Intel mikrokód figyelmeztetés, mint biztonsági kockázat.

Grafikus alrendszer: új GPU-k és modernebb támogatás

  • Nouveau driver támogatás az NVIDIA Blackwell és Hopper GPU-khoz.
  • Intel Xe3 támogatás Panther Lake platformon.
  • Asahi API fejléc bevezetése az Apple Silicon jövőbeli driveréhez.
  • Intel Xe driver: ventilátor-sebesség jelentés és LOBF (Link Off Between Frames) támogatás.
  • AMDKFD és AMDGPU új funkciók, RISC-V támogatással is.

Fájlrendszerek és tárolás: teljesítményjavítások és új technológiák

  • EXT4: „rendkívül lenyűgöző” teljesítménynövekedés.
  • XFS: atomikus írás támogatása.
  • Bcachefs: nagyobb stabilitás és sebesség.
  • Btrfs és FUSE: további optimalizálások.
  • NFS: nagyobb blokk-méret támogatás, és új LOCALIO státusz.
  • eMMC/SD: zökkenőmentes eltávolítás támogatása.
  • DMA-BUF: zero-copy fogadás.
  • Intel QAT gyorsítás az EROFS fájlrendszerben (DEFLATE tömörítéshez).
  • NVMe FDP (Flexible Data Placement) támogatás.

Hálózatkezelés: új VPN és Ethernet támogatás

  • OpenVPN DCO kernel driver upstream-be került: lényegesen gyorsabb VPN-teljesítmény.
  • Realtek RTL8127A 10GbE Ethernet vezérlő támogatás.
  • TCP Device Memory Transmit támogatás.
  • DCCP protokoll eltávolítva – hosszú ideje karbantartatlan volt.

További hardveres és rendszerkomponens újdonságok

  • USB audio offloading (első lépés Qualcomm platformokon).
  • Apple Magic Mouse 2 USB-C támogatás.
  • Dasharo ACPI driver (Coreboot downstream rendszerekhez).
  • ByoWave Modular Proteus Controller Kit (Valve fejlesztéssel).
  • PCIe támogatás Apple M2 Pro/Max/Ultra platformokra.
  • GPIB illesztő (műszeres környezetek) készen áll, hogy elhagyja a staging szakaszt.
  • Több ASUS alaplap hardveres monitoring támogatása.
  • Hardveres kulcsburkolás támogatása (hardware-wrapped encryption keys).

Általános kernel funkciók és fejlesztői eszközök

  • Hard/soft lockup és RCU stall számlálók jelentése.
  • FUTEX2 fejlesztések (task-local hash mapek és NUMA támogatás).
  • Coredump socket támogatás.
  • Felhasználói módból való kilépés gyorsítása.
  • GPL szimbólumok hozzáférésének korlátozása modul szinten.
  • Rust nyelvhez kapcsolódó új absztrakciók és fejlesztések.
  • Minimum GCC verzió egységesítése: GCC 8.

Részletek

Ahogy Linus írta vasárnap:

It's Sunday afternoon, and the release cycle has come to an end. Last
week was nice and calm, and there were no big show-stopper surprises
to keep us from the regular schedule, so I've tagged and pushed out
6.16 as planned.

It's worth noting that the upcoming merge window for 6.17 is going to
be slightly chaotic for me: I have multiple family events this August
(a wedding and a big birthday), and with said family being spread not
only across the US, but in Finland too, I'm spending about half the
month traveling.

That means that I will try very hard to get most of the merge window
done the first week before my travels start, and I already ended up
giving a heads-up on that to the people who tend to send me the most
pull requests. An indeed, I already have 50 pull requests pending, so
thanks to people who took that heads-up to heart.

So I hope that the merge window will be smooth despite my travel
schedule, but I wanted to to just mention this just in case: if I end
up unable to deal with all merge window pull requests the second week,
I might delay rc1 a bit just to catch up.

That does not mean that I'll be more lenient to late pull requests
(probably quite the reverse, since it's just going to add to the
potential chaos), it just means that I might have some pulls that I
ended up delaying until I got back home (only for then fly off again a
week later to the second event). So if I don't cut a -rc1 like
clockwork in two weeks, don't panic - it just means I'll do it a few
days later.

Again: I *think* it's all going to be fine and we'll have a normal
merge window schedule, I'm just mentioning this as a "things might not
go as smoothly as I hope because I'm off gallivanting on family
business" possibility.

But enough about the next release. The *current* release is out, and
looks fine, and as mentioned last week was really small and calm.
Shortlog for that below for people who want to see the details, but
it's really not all that interesting (in all the best ways!). It's
almost all small driver fixlets, with some random noise sprinkled
around elsewhere. Not a lot of patches, and they are all small.

                        Linus

Azaz:

A múlt hét kellemesen nyugodt volt, nem bukkant fel semmilyen nagy horderejű, a kiadást megakasztó meglepetés, így a szokásos menetrend szerint megjelöltem és kiadtam a 6.16-os verziót.

Érdemes megemlíteni, hogy a közelgő 6.17-es verzióhoz tartozó merge window (összeolvasztási időszak) számomra kissé kaotikus lesz: augusztusban több családi eseményem is lesz (egy esküvő és egy nagy születésnap), ráadásul a család nemcsak az Egyesült Államok különböző részein, hanem Finnországban is szétszórva él, így a hónap körülbelül felét utazással fogom tölteni.

Ez azt jelenti, hogy nagyon igyekezni fogok, hogy az összeolvasztási időszak jelentős részét már az első héten elvégezzem, még mielőtt elutazom. Erről már előzetesen szóltam azoknak, akik rendszeresen a legtöbb pull requestet küldik nekem. Valójában már most 50 pull request várakozik, szóval köszönöm azoknak, akik komolyan vették az előzetes figyelmeztetést.

Remélem, hogy az összeolvasztási időszak a programomtól függetlenül zökkenőmentesen fog lezajlani, de azért szerettem volna ezt előre jelezni: ha esetleg nem tudok minden beérkező pull requesttel foglalkozni a második héten, lehet, hogy kissé elcsúszik az -rc1 kiadása, hogy legyen időm utolérni magam.

Ez nem jelenti azt, hogy engedékenyebb leszek a későn érkező pull requestekkel kapcsolatban — valószínűleg épp ellenkezőleg, hiszen ezek csak fokoznák a lehetséges káoszt. Ez mindössze azt jelenti, hogy előfordulhat, hogy néhány pull request csak akkor kerül feldolgozásra, amikor visszatérek (mielőtt egy héttel később újra útnak indulok a második eseményre). Szóval ha nem jelenik meg az -rc1 pontban két hét múlva, ne essetek pánikba — csak néhány napos csúszásról lesz szó.

Még egyszer: úgy gondolom, minden rendben lesz, és a szokásos menetrend szerint zajlik majd az összeolvasztási időszak, csak szerettem volna előre jelezni, hogy „lehetséges, hogy nem minden alakul teljesen zökkenőmentesen, mivel családi elfoglaltságok miatt úton leszek”.

De most hagyjuk a következő kiadást. A jelenlegi verzió megjelent, rendben van, és ahogy már említettem, a múlt hét valóban nyugodtan telt. A részletes rövid napló alább olvasható azoknak, akiket érdekelnek a részletek, de igazából semmi különös nincs benne (a legjobb értelemben!). Szinte kizárólag apró hibajavításokat tartalmaz különféle meghajtókban (driverekben), némi elszórt egyéb módosítással. Nincs sok javítás, és azok is mind kisméretűek.