Intel engineers continue working on SR-IOV support for the Xe open-source kernel driver as part of Project Battlematrix for ensuring good virtualization support for the latest Intel GPUs on Linux.
Posted on Saturday was a big set of 26 patches for implementing a new VFIO Xe PCI driver for handling VFIO migration for Intel graphics devices. This new VFIO PCI driver goes in-step with the Xe kernel graphics driver on Linux and is intended for properly handling VFIO device migration for transitioning when the VFIO device when the VM state changes from running to not-running or vice-versa.
Intel engineer Michał Winiarski explained with the patch series:
“Xe is a DRM driver supporting Intel GPUs and for SR-IOV capable devices, it enables the creation of SR-IOV VFs.
This series adds xe-vfio-pci driver variant that interacts with Xe driver to control VF device state and read/write migration data, allowing it to extend regular vfio-pci functionality with VFIO migration capability. The driver doesn’t expose PRE_COPY support, as currently supported hardware lacks the capability to track dirty pages.While Xe driver already had the capability to manage VF device state, management of migration data was something that needed to be implemented and constitutes the majority of the series.
The migration data is processed asynchronously by the Xe driver, and is organized into multiple migration data packet types representing the hardware interfaces of the device (GGTT / MMIO / GuC FW / VRAM). Since the VRAM can potentially be larger than available system memory, it is copied in multiple chunks. The metadata needed for migration compatibility decisions is added as part of descriptor packet (currently limited to PCI device ID / revision). Xe driver abstracts away the internals of packet processing and takes care of tracking the position within individual packets. The API exported to VFIO is similar to API exported by VFIO to userspace, a simple .read()/.write().”
This new driver for dealing with the VFIO device migration for Intel graphics hardware is now under review. It complements all of the SR-IOV work that has been heading into the Xe graphics driver itself.
SR-IOV is supported on Intel Arc Pro B-Series graphics cards while Intel so far hasn’t clarified which Panther Lake products will see SR-IOV support as driver patches have indicated Panther Lake will see support.