PCIe Passthrough Performance on Proxmox VE — The IOMMU Tax and How to Minimise It
Why PCIe devices lose throughput when passed through to a VM via VFIO, and the practical tuning steps that claw most of it back.
Why PCIe devices lose throughput when passed through to a VM via VFIO, and the practical tuning steps that claw most of it back.
On multi-socket systems, a VM with its vCPUs on one NUMA node and its passed-through device on another loses 20–30% throughput before you’ve even looked at anything else.
Active State Power Management saves a few watts on idle PCIe links. Under VFIO passthrough, it adds latency jitter that’s hard to diagnose and easy to fix.
QEMU’s virtual root complex defaults to 128-byte TLP payloads. Most devices support 256 or 512. One kernel parameter fixes it.
The two QEMU virtual chipsets are not interchangeable. Q35 provides a proper PCIe topology that passthrough, modern Windows, and the wider KVM ecosystem all depend on.