More AMD IOMMU Optimization Work Is On The Way For Linux
Thanks to one of VMware's Linux engineers there are improvements pending to the AMD IOMMU support code to help with performance.
Earlier this year VMware's Nadav Amit landed a patch to make use of AMD hardware IOMMU functionality to avoid full address-space invalidation by handling page-specific invalidations when needing to flush multiple pages.
The intent was there for making use of this AMD CPU feature for page-specific invalidations in the IOMMU code but it didn't end up taking full advantage. Nadav Amit has been working on a follow-up patch series to further its utilization. New patches make further use of page-selective flushes on AMD CPUs including for unmap operations, avoiding using flush-queue on vIOMMUs, relaxed flushes when gathering, syncing once on scatter-gather map operations, and breaking flushes to naturally aligned ranges on vIOMMU.
Basically, these newer 7 patches make greater use of the selective flushing in the AMD code for more efficient IOMMU handling. Now that the Linux 5.14 merge window is over, the patches have been re-based to 5.14-rc1 while hopefully we will see the work ready for 5.15 in a few months.
Earlier this year VMware's Nadav Amit landed a patch to make use of AMD hardware IOMMU functionality to avoid full address-space invalidation by handling page-specific invalidations when needing to flush multiple pages.
The intent was there for making use of this AMD CPU feature for page-specific invalidations in the IOMMU code but it didn't end up taking full advantage. Nadav Amit has been working on a follow-up patch series to further its utilization. New patches make further use of page-selective flushes on AMD CPUs including for unmap operations, avoiding using flush-queue on vIOMMUs, relaxed flushes when gathering, syncing once on scatter-gather map operations, and breaking flushes to naturally aligned ranges on vIOMMU.
Basically, these newer 7 patches make greater use of the selective flushing in the AMD code for more efficient IOMMU handling. Now that the Linux 5.14 merge window is over, the patches have been re-based to 5.14-rc1 while hopefully we will see the work ready for 5.15 in a few months.
3 Comments