Po nedávnej práci s tabuľkou stránok AMD IOMMU v2 a ďalších vylepšeniach IOMMU, ktoré sú súčasťou snahy AMD o ďalšie zlepšenie podpory virtualizácie Linuxu na serverových platformách EPYC, sú posledné včerajšie opravy od AMD určené na prácu na hardvérovo akcelerovanej virtualizovanej IOMMU (AMD HW-vIOMMU).
Funkcia AMD hardvérovo akcelerovaná virtualizovaná IOMMU poskytuje čiastočnú hardvérovú akceleráciu na implementáciu hosťovských IOMMU s virtualizáciou vyrovnávacej pamäte príkazov hosťa, protokolu udalostí hosťa a protokolu PPR hosťa. V konečnom dôsledku ide o zlepšenie výkonu PCI pass-through I/O pri súčasnom poskytovaní ochrany I/O hosťa.
Sériu opráv, ktorú v stredu poslal inžinier AMD Linux Suravee Suthikulpanit, ďalej dodáva:
„Túto funkciu možno navyše použiť v kombinácii s vnorenými tabuľkami stránok IOMMU na zrýchlený preklad adries z GIOVA do GPA. V tomto prípade tabuľku hostiteľských stránok (známa aj ako stage2 alebo v1) spravuje hypervízor (t.j. KVM/VFIO) a tabuľku stránok hosťa (známa aj ako stage1 alebo v2) spravuje hosťujúca IOMMU ovládač (napr. pri zavádzaní hosťujúceho jadra v režime amd_iommu=pgtable_v2).
Keďže hardvér IOMMU virtualizuje vyrovnávaciu pamäť príkazov hosťa, umožňuje to urýchliť operácie IOMMU, ako je zneplatnenie stránok hosťa (t. j. štádium1), keď je príkaz zadaný hosťujúceho jadra bez zásahu hypervízora.
Táto séria je implementovaná na vrchole rámca IOMMUFD. Využíva existujúce API a ioctls na poskytovanie informácií o hosťovi iommu (t.j. struct iommu_hw_info_amd) a umožnenie hosťovi poskytnúť informácie o tabuľke stránok hosťa (t. j. struct iommu_hwpt_amd_v2) na nastavenie používateľskej domény.”
Práca AMD IOMMU v tomto smere prebieha už nejaký čas je dobré vidieť, ako sa to približuje.
Späť v roku 2021 AMD prezentované na konferencia kVM Forum o ich prototypovom úsilí v tomto bode. Stredajší záplaty sú stále označené ako „žiadosť o komentáre“, keďže sa dokončuje implementácia a dúfajme, že sa v nie príliš vzdialenej budúcnosti dostanú do hlavného linuxového jadra.