Az AVX-512-re optimalizált xor_gen() függvényt olyan paritásblokkok előállítására és ellenőrzésére használják, mint amilyenek a Linux szoftveres RAID 5 és RAID 6 tömbjeiben vannak. Az AVX-512 xor_gen() legújabb változatát ma tették közzé, és nagyon meggyőző eredményeket mutat AMD Zen 5 hardveren.
A Google-nél dolgozó Eric Biggers, aki az elmúlt években számos Linuxos kriptográfiai teljesítményoptimalizálást készített, vezeti ezt az
AVX-512 xor_gen() fejlesztést. Kicsúszott a Linux v7.3 merge ablakából, és több időbe telt, mire eljutott a mainline kernel-ba, mert közben az AVX és AVX_512 CPU feature flagek kezelését is rendbe tették a kernel-ben. Biggers a tegnapi
v5 patch sorozat közzétételekor így foglalta össze:
„Ez a sorozat egységesíti és kitakarítja, hogyan kezeli a kernel az AVX és AVX-512 CPU feature flageket, amikor az alatt futó operációs rendszer vagy hypervisor nem engedélyezi a szükséges xstate funkciókat az XCR0-ban.
Pontosabban: a xstate funkciók ellenőrzése egyetlen helyre kerül a rendszerindításkor, UML és natív x86 esetén egyaránt, ahelyett, hogy mindenhol külön ellenőrizni kellene, ahol a kernel kód AVX- vagy AVX-512-támogatást akar vizsgálni.
A 8. patch ezután hozzáadja a RAID-hez az AVX-512-re optimalizált xor_gen() megvalósítást, amelyet eddig az cpu_has_xfeatures() körüli zavar és annak UML alatti hiánya akadályozott.”
A várakozás úgy tűnik, megérte: Eric Biggers nagyon látványos gyorsulást mutatott be a
v5 patchben szereplő AVX-512-re optimalizált xor_gen hozzáadásával. Egy AMD Ryzen 9 9950X asztali CPU-n végzett tesztek különösen 4–8 lemezes RAID tömböknél hoztak kiemelkedő eredményeket.
Remélhetőleg ez a kód már készen áll arra, hogy az év vége felé érkező Linux v7.4 ciklusba bekerüljön.

