PCSC: Caching PCI Config Space Accesses for faster Live Updates
summary
At scale PCI enumeration and VF creation trigger a flood of hardware config reads, so PCSC implements a per-device cache attached to struct pci_dev, intercepts pci ops, uses a write-invalidate policy for coherence, and dynamically infers cacheable registers by walking capability chains. Implementation preserves cache across kexec via Kernel HandOver (KHO) and reports ~70–80% hit rates on ARM testbeds, cutting VM bring-up blackouts by hundreds of milliseconds versus uncached probing. PCI Configuration Space Cache (PCSC) is upstream-RFCed and prototyped in-kernel.
AI-written summary · about
chapters (10)
- 0:00Introduction and motivation
- 1:06PCI config space challenges
- 2:13Cache design and implementation
- 3:39Current status and RFC details
- 4:43Discussion on access sources
- 6:30Comparison with existing mechanisms
- 8:14Handling map bus and caching
- 9:20Alternatives and risks
- 10:21VFIO and snapshot preservation
- 11:04Q&A and conclusion
