Cooperative DMA in a memory-oversubscribed environment
summary
Proposes making IOMMU page tables dynamic by adding a new ioctl VFIO_MAP_DMA_UNPINNED, hooking VFIO into MMU notifiers and an IOMMU domain callback remap_pte so host mirrors user page-table changes instead of pinning upfront. Adds a lightweight guest cooperative protocol where the guest does a CPU touch before DMA to fault pages in (and a shared bitmap to prevent swap-out), aiming to avoid PRI/SVA hardware and reduce VM‑exits to the first fault; notes race, THP and notifier-coherence challenges and this is an RFC-stage design, not yet implemented.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 0:29Overview
- 0:57Hardware
- 3:16DMA Unpinned
- 6:05Feedback
- 12:12IOMU
- 13:04Exposure
- 13:59Summary
- 17:49Wrapup
related talks
24mA Virtual IOMMU With Cooperative DMA Buffer Tracking
22mAMD-vIOMMU: A Hardware-assisted Virtual IOMMU Technology
30miommu page table consolidation and iommufd
11mAdvanced Parallel Memory Virtualization
36mShared Virtual Addressing for High Performance Arm Infrastructure Platforms
55mSecure IO BoF
16mUnifying KVM API for protected VM and utilities
31mHardware Friendly Vhost vDPA: Towards an Efficient and Migratable Device Model
