Hardware Virtualization Interrupt Delivery Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current ARM-based hardware virtualization solutions face performance overhead due to software handling of virtual timer interrupts, which slows down virtual timer delivery in ARM platforms, as hardware cannot directly send virtual timers to guest operating systems, requiring significant software processing and memory usage.
Innovation Solution
A device and method for hardware virtualization support that includes a hypervisor component and a host system component, where a configuration flag enables a fast interrupt delivery mechanism by recording the virtual timer number as a global variable, allowing the hypervisor to process it efficiently, thereby simplifying interrupt delivery paths and reducing virtual timer delivery time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If software handling is used for virtual timer interrupts in ARM-based hardware virtualization, then flexibility and extensibility of virtualization features are improved, but performance overhead increases and virtual timer delivery time slows down
Solution Approach 1:
The patent segments the interrupt delivery path into two modes: a fast path for virtual timer interrupts that bypasses host OS state transitions, and a slow path for other interrupts that maintains full software handling. This segmentation allows virtual timer delivery to be optimized independently while preserving the flexibility of software-based virtualization for other operations.
Solution Approach 2:
The patent introduces a configuration flag as an intermediary mechanism that enables the hypervisor to directly access and process virtual timer interrupt information without requiring full host OS intervention. This intermediary allows selective optimization of the interrupt path while maintaining the overall software-based virtualization architecture.
2Loss of time
If hardware directly sends virtual timer interrupts to guest operating system, then virtual timer delivery time is reduced, but hardware capability and support are insufficient in current ARM GICv2/3 architecture
Solution Approach 1:
The patent makes the interrupt delivery path dynamic by introducing a configuration flag that can switch between fast path and slow path handling. The system adapts its behavior based on the type of interrupt and the configured optimization level, allowing hardware to simulate direct delivery for virtual timers while maintaining software handling for other cases where hardware support is insufficient.
Solution Approach 2:
The patent changes the parameter of interrupt delivery by introducing a configuration flag that modifies the delivery mechanism. When the flag is set, the system changes from full software handling to a hybrid approach where virtual timer interrupts are delivered directly to the guest OS without host OS state transitions, effectively simulating hardware capability through software configuration.
3Reliability
If full software processing path is used for virtual timer interrupts, then comprehensive handling and control are achieved, but processing time and memory requirements increase significantly
Solution Approach 1:
The patent applies partial action by implementing selective optimization: only virtual timer interrupts benefit from the fast path that skips host OS state transitions, while other interrupt types continue to use the full software processing path. This partial application of optimization maintains comprehensive handling for all interrupt types while reducing processing time specifically for virtual timers.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A device (100) for hardware visualization support is provided, the device (100) comprising: a hypervisor component (101) configured to launch a virtual machine (VM) and configured to exit and/or to enter a host level; a host system component (102) configured to process a configuration flag (CF) that enables an interrupt deliveiy mechanism; wherein the host system component (102) is configured to record, if the configuration flag is set, a virtual timer number as a global variable, providing information to the hypervisor component (101) when a virtual timer is expired; and wherein the hypervisor component (101) is configured to process the virtual timer number of the global variable in the host level.