PCSC - Caching PCI Config Space Accesses for Faster Live Updates
Linux Plumbers Conference via YouTube
Overview
Coursera Spring Sale
40% Off Coursera Plus Annual!
Grab it
Explore a conference talk that introduces the PCI Configuration Space Cache (PCSC), a novel caching layer designed to accelerate PCI configuration space operations in high-density virtualization environments. Learn how SR-IOV deployments with thousands of Virtual Functions (VFs) create performance bottlenecks due to repeated hardware transactions for accessing static configuration registers like vendor IDs, device IDs, and capability registers. Discover how PCSC addresses these inefficiencies by implementing a transparent caching mechanism that attaches per-device caches to struct pci_dev, intercepts reads and writes through custom PCI operations, and maintains coherency using a write-invalidate policy. Understand the dynamic cacheability inference system that walks device capability chains in a specification-aware manner, eliminating the need for static lists while safely caching registers involved in operations like BAR sizing. Examine the integration with the Kernel HandOver (KHO) framework that enables cache persistence across kexec transitions, allowing new kernels to reuse configuration data instead of re-probing hardware. Review performance testing results from ARM platforms showing cache hit rates near 70% in virtualization scenarios with substantial improvements in VM bring-up times, and explore the design trade-offs, upstream merging path, and integration strategies with the Live Update Orchestrator for enhanced virtualization performance at scale.
Syllabus
PCSC: Caching PCI Config Space Accesses for faster Live Updates - Evangelos Petrongonas
Taught by
Linux Plumbers Conference