PCI Passthrough Device Hot-Add via Dynamic IOMMU Domain Migration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual machine (VM) technologies face challenges with hot-add of PCI passthrough devices, live VM reconfiguration, storage migration, and surprise hot-remove of PCI passthrough devices, which restrict flexibility and stability in virtual computing environments.
Innovation Solution
The system and method involve creating a destination VM for a source VM with a physical passthrough device, moving the IOMMU domain, buffering interrupt notifications, transferring memory data, resuming interrupt notifications, and shutting down the source VM to enable guest operations in the destination VM.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If PCI fixed passthrough with direct PCI device assignment is used, then full and direct access to the PCI passthru device is enabled, but hot-add of PCI passthru devices is not possible and live VM reconfiguration cannot be performed
Solution Approach 1:
The patent implements dynamic PCI passthrough by introducing a PCI bridge device that can be hot-added to the VM. The bridge device dynamically creates passthrough relationships between physical PCI devices and the VM guest, allowing the configuration to change during VM runtime without requiring VM shutdown or migration.
Solution Approach 2:
The patent introduces a PCI bridge device as an intermediary between the physical PCI passthru device and the VM guest. This bridge device acts as a mediator that enables hot-add functionality by providing a configurable interface that can be dynamically attached to the VM, while still maintaining direct access to the underlying physical device through the bridge.
2Reliability
If PCI fixed passthrough is used, then direct PCI device assignment is achieved, but storage migration and live VM reconfiguration are not possible
Solution Approach 1:
The PCI bridge device enables dynamic reconfiguration of PCI passthrough relationships during VM migration. The bridge can be detached from the source VM and attached to the destination VM, allowing storage migration and live reconfiguration while maintaining stable device assignment within each VM context.
Solution Approach 2:
The patent segments the PCI passthrough functionality into a separable PCI bridge device component. This segmentation allows the bridge device to be independently managed, detached, and reattached to different VMs, enabling migration capabilities while preserving direct access stability within each VM.
3Ease of operation
If PCI passthru device is hot-removed from a running VM, then device removal is achieved, but VM and host computer stability is compromised
Solution Approach 1:
The PCI bridge device serves as a protective intermediary that manages device removal operations. When a PCI passthru device needs to be removed, the bridge device mediates the detachment process, ensuring proper cleanup of resources and relationships, which prevents system instability that would occur with direct surprise removal.
Solution Approach 2:
The patent implements protective mechanisms through the PCI bridge device that cushion against the harmful effects of surprise hot-remove operations. The bridge device maintains proper state tracking and resource management that prevents the instability and crashes associated with direct device removal from running VMs.
Data Source
AI summary
System and method for enabling operations for virtual computing instances with physical passthru devices includes moving an input-output memory management unit (IOMMU) domain from a source virtual computing instance having a physical passthru device to a destination virtual computing instance, where guest operations are performed in the source virtual computing instance. After the destinating virtual computing instance is powered on, any interrupt notifications from the physical passthru device are buffered. After memory data is transferred from the source virtual computing instance to the destination virtual computing instance, posting of interrupt notifications from the physical passthru device is resumed and any buffered interrupt notifications from the physical passthru device are posted. Guest operations are performed in the destination virtual computing instance.


