iommufd discussion
summary
iommufd exposes CPU IOMMU features to VMMs via the new vfio cdev interface, provides virtual IO page tables and nested translation using user-space hardware page tables, and already has dirty tracking merged in v6.7 for DMA live migration. Remaining work includes IO page table TLB invalidation forwarding, PCI peer‑to‑peer with dma‑buf support, driver modernization across ARM/AMD/Intel, interrupt remapping fixes for ARM vs Intel, and a plan for per‑guest command queue DMA invalidations to avoid VM exits.
AI-written summary · about
chapters (11)
- 0:00Introduction to iommufd
- 1:26iommufd architecture and setup
- 5:01Dirty page tracking and live migration
- 8:52Current status and remaining work
- 12:22Virtual SVA and PCI passid challenges
- 16:38Invalidation and caching in IOMMUs
- 19:51Driver modernization efforts
- 23:18Interrupt handling and MSI issues
- 28:59Dirty tracking algorithm improvements
- 32:36Future directions and community collaboration
- 37:33Q&A and final remarks
related talks
27mIOMMUFD Integration in QEMU
21mI/O Virtualization Use Cases and the RISC-V IOMMU Overview
29mvfio, iommufd: Enabling user space drivers to vend more granular access to client pro...
28mConfidential Devices (TEE I/O): A series of modest proposals
30mHA-IOV: Applying Hardware-assisted Techniques to IO Virtualization Framework
21mVFIO: Very Frightening I/O? Taming Wild Guests and their PCIe Config-Space Abuse
28mIntroduce Hardware-Level Device Isolation to Zephyr
50mExporting Virtual Memory as dmabuf
