Linux 6.19 kernel: a VAES+AVX2-re optimalizált AES-GCM akár 74% gyorsulást hoz AMD Zen 3-on

Eric Biggers október 2-án közép-európai idő szerint közzétett kernel javításcsomagja a Linux x86_64 AES-GCM megvalósítását frissíti egy VAES+AVX2-re épülő, 256 bites vektoros úttal. (az AES maga a titkosítási algoritmus (egy blokktitkosító), a GCM pedig egy működési mód, amely meghatározza, hogyan alkalmazzák az AES-t az adatok titkosítására és hitelesítésére.) A fejlesztés lényege röviden az, hogy azok a processzorok, amelyek támogatják a VAES utasításkészletet, de nem rendelkeznek AVX512-vel, mostantól megkapják a korábban csak az AVX512-vel elérhető jelentős gyorsítást.

A szerző példaként említi az AMD Zen 3 architektúrát, valamint több Intel kliensprocesszort az Alder Lake-től egészen a Lunar Lake-ig, beleértve a szerveres Sierra Forest platformot is. Egy másik bejegyzés szerint az új implementáció akár 74 százalékos teljesítménynövekedést is hozhat AES-256-GCM műveleteknél AMD Milan rendszereken, különösen nagyobb üzenetméreteknél, ahol a gyorsulás a leglátványosabb.

Linux 6.19 kernel: a VAES+AVX2-re optimalizált AES-GCM akár 74% gyorsulást hoz AMD Zen 3-on

Mi változik a kód alatt?

A korábbi 256 bites megvalósítás eddig kizárólag az AVX512 utasításkészletre épült, ezt azonban most a VAES+AVX2 alapú út váltja fel, így megszűnik az a feltétel, hogy a 256 bites gyorsítás kihasználásához AVX512 támogatásra legyen szükség. Ezzel egyidőben az 512 bites útvonal átdolgozáson esik át: az eddigi „AVX10/512” elnevezés helyett immár „AVX512”-ként hivatkoznak rá, a kód pedig kifejezetten az 512 bites vektorokra van optimalizálva. A patch sorozat emellett átrendezi az előfeldolgozási lépéseket és a hosszú AAD-szegmensek kezelését is, így az átalakítás nem pusztán névleges, hanem valódi teljesítményjavulást hoz. A fejlesztő megjegyzi, hogy az AVX512 használata miatt órajelcsökkenésre hajlamos régebbi Intel processzorok esetében a VAES+AVX2 útvonal lesz a 256 bites „tartalék” megoldás, ami egyszerűbb és egységesebb kódbázist eredményez.

A fejlesztés már beolvasztásra került a Linux 6.19 kernelbe

A kernel patch csomag a next-20250929 alapján készült, és kifejezetten a 6.19-es kernelciklust célozza. A hét folyamán a komplett sorozat Eric Biggers „libcrypto-next” ágba került fel, benne az AVX2-s AES-GCM bevezetésével, az AVX10/256 eltávolításával, az AVX512-re átnevezéssel és az ehhez kapcsolódó optimalizálásokkal. Ez azt jelenti, hogy a változások a kriptográfiai alrendszer következő beküldési körében reálisan úton vannak a mainline felé. A teljesítménynyereségről és a célverzióról szóló részleteket maga a commit-üzenet rögzíti, a szélesebb közösségi visszhang pedig már meg is érkezett.

Mit érez ebből a felhasználó?

A TLS-től az IPsecig minden olyan technológia, amely AES-GCM-et alkalmaz, érezhetően profitálhat a változtatásból, különösen az AMD Zen 3 és a megnevezett Intel generációk esetében. A legnagyobb teljesítménynövekedés a nagyobb csomagméreteknél és adatátviteli műveleteknél várható, miközben az új, egységesített kódút stabilabb működést biztosít az olyan Intel platformokon is, mint az Ice Lake vagy a Tiger Lake, mivel ezeknél elkerülhető az AVX512-re jellemző órajelcsökkenés. A fejlesztés a BoringSSL-ből származik, ahol már a Chromiumban is éles környezetben bizonyított, így az algoritmikus és implementációs döntések megbízható alapot adnak.

Gábor a Pingvinbázis alapítója és főszerkesztője, több mint 20 éves tapasztalattal rendelkezik a Linux rendszerek és az Open Source szoftverek területén. Jártas a Python, és a PHP nyelvben, valamint a BASH scriptelésben is.