PASID Management in KVM
summary
KVM implements PASID-based DMA remapping for SVA and Intel Scalable IOV with a kernel IOASID core (landed since 5.05) that performs IOASID partitioning across host and guests, a notification chain plus refcounting to synchronize CPU/VFIO/IOMMU/device state, and two guest-PASID models: bind vs shadowed PASID table. PASIDs follow allocate→bind→DMA→unbind→free, PCIe PASID is 20 bits, and open issues include VFIO-only allocation and admin quota management.
AI-written summary · about
chapters (8)
- 0:00Start
- 6:25PASID Management w/ IOASID Core intel
- 7:41Guest-Host PASID Mapping
- 10:02Namespaces & Partitioning
- 11:35Synchronization among IOASID Use irtel
- 13:45Lifecycles: A PASID's life
- 16:26Status
- 17:39Summary
related talks
19mSharing IOMMU PageTables with TDP in KVM
36mBringing vDPA to Life in Kubernetes
20mKVM-devirt: Extending KVM to a Zero-Overhead Partition Hypervisor
51mAccelerate containers and VMs networking with vDPA
27mKubeVirt vDPA Workflow: From Host to Pod to Domain
17mMitigating Excessive Pause-Loop-Exiting in VM-Agnostic KVM
21mUnmapped Guest Memory
27meBPF-based Extensible Paravirtualization
