A Linux 7.4 rengeteg izgalmas újdonsága közül az egyik legérdekesebb, azonnal érezhető teljesítményfejlesztés az új „PerfOpt” funkció az integrált Radeon grafikával szerelt AMD SoC-khez. Az AMD PerfOpt jelentős iGPU teljesítményfejlesztést hozhat, különösen AI/LLM terhelésnél. A Linux 7.4-rc2 kernel kiadásban néhány finomhangolás is bekerült a PerfOpt kódjába az IOMMU területén.
Az AMD PerfOpt lehetővé teszi, hogy az integrált GPU az IOMMU megkerülésével érje el közvetlenül a rendszermemóriát. Ez az AMDGPU driver esetén iGPU-knál alapértelmezetten engedélyezett. A funkció nem csak a legújabb és legerősebb Radeon iGPU-kra korlátozódik, korábbi generációs hardvereken is mérhető teljesítménynövekedést hoz.
A heti IOMMU javításokat tartalmazó pull request részeként több módosítás is érkezett a PerfOpt kódhoz. Mario Limonciello, az AMD Linux mérnöke így foglalta össze a változásokat a Linux Git-be már beolvasztott javítócsomag leírásában:
„A PerfOpt integrált GPU-k számára használható identity módban. Engedélyezd az IOMMU driver domain-csatolási útvonalain keresztül, ahelyett, hogy amdgpu policy kapcsolót és exportált be/ki kapcsoló interfészeket igényelne.
Jelöld a támogatott integrált GPU-kat PerfOpt-kompatibilisnek, amikor kiválasztod az alapértelmezett identity domaint. Hagyd ki a GCR3 beállítását és az ATS/PRI/PASID engedélyezését ezeknél az identity csatolásoknál, majd kapcsold be a PerfOptot a DTE telepítése után. Töröld a PerfOptot, mielőtt egy erre alkalmas GPU-t lefordított vagy blokkolt domainhez csatolsz, beleértve a VFIO által használt nem menedzselt domaineket is. Terjeszd tovább a bypass törlésének sikertelenségét, de hagyd sikeresnek a már befejezett identity csatolást akkor is, ha az opcionális PerfOpt engedélyezés meghiúsul.
Tisztítsd meg az örökölt PerfOpt állapotot inicializáláskor, beleértve azt az esetet is, amikor egy összeomlás kernel újra felhasználja az eszköztáblákat. Olvasd ki a funkciótámogatást közvetlenül a hardverből, mert az eltárolt funkciók ekkor még nem feltétlenül elérhetők, és állítsd le az inicializálást, ha a kezdeti törlés nem sikerül.
Minden IOMMU-hoz legfeljebb egy PerfOpt-kompatibilis GPU tartozik, ezért az aktiválást egy logikai értékkel kövesd az IOMMU lock alatt. Őrizd meg ezt az állapotot a hardver felfüggesztés és leállítás alatti törlésekor, és csak ott állítsd vissza a bitet visszatéréskor, ahol korábban aktív volt. Ne engedélyezd a PerfOptot feltétel nélkül a korai IOMMU-inicializálás során.
Távolítsd el az amdgpu paramétert, a driver callbackeket és az exportált interfészeket. A lefordított csatolások megtartják a szokásos eszközképesség-beállításukat.”
Az amdgpu.iommu_perfopt= modulparamétert mostanra eltávolították, így aki eddig nem próbálta ki, már nem tudja közvetlenül összehasonlítani a PerfOpt teljesítményhatását a saját hardverén. Mindenesetre számíthatsz erre a hasznos fejlesztésre a Linux 7.4-ben, amely várhatóan december végén jelenik meg stabil kiadásként. A Linux 7.4-rc2, amely már tartalmazza ezt a kódot, várhatóan még ma megjelenik tesztelésre.

