Disadvantages
The disadvantages of having an IOMMU, compared to direct physical addressing of the memory, include:
- Some degradation of performance from translation and management overhead (e.g., page table walks).
- Consumption of physical memory for the added I/O page (translation) tables. This can be mitigated if the tables can be shared with the processor.
Read more about this topic: IOMMU