KVM Forum 2024

Unleashing VFIO's Potential: Code Refactoring and New Frontiers in Device Virtualization
09-23, 09:15–09:45 (Europe/Rome), Hall A+B

VFIO has transformed virtual machine (VM) performance by enabling
direct device assignment. This presentation delves beyond a status
report, showcasing the exciting advancements realized over the past few
years.

Central to these improvements is a comprehensive code refactoring
effort. The vfio-pci driver has been split into a core library, paving
the way for a new generation of variant drivers. These drivers unlock
device-specific functionalities, pushing the boundaries of VM
capabilities.

Examples include:

  • Enhanced Migration: Leveraging the new vfio migration interface
    (version 2), variant drivers from NVIDIA/Mellanox, Huawei/HiSilicon,
    and Intel enable seamless VM migration with VFIO devices.
  • Advanced BAR Management: A dedicated NVIDIA variant driver
    demonstrates the power of the core library by recomposing device PCI
    BARs through a coherent memory region exposed by the SoC
    interconnect.
  • Direct Device Access: A further refactoring of the VFIO container
    and group code introduces a new character device interface (cdev).
    This interface allows direct device access and native support for
    VFIO devices utilizing the cutting-edge userspace IOMMU interface,
    IOMMUFD.

This presentation delves into these advancements, along with other
exciting developments in the VFIO ecosystem. It will showcase how these
innovations are empowering users to achieve unprecedented levels of
performance and flexibility in virtualized environments.

See also: Slides (725.6 KB)

Alex is a Senior Principal Software Engineer working for Red Hat from his home in Fort Collins, Colorado. Alex is the maintainer of the VFIO subsystem in the Linux kernel and contributor to IOMMU, PCI, and KVM subsystems, as well as co-maintainer of VFIO support in QEMU.