Virtual Device Interrupt Pass-Through to Reduce VM Exits

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The performance of virtual devices in virtual machines is affected by the generation of multiple VM Exits when processing data read/write requests due to the use of half-virtual devices based on the virtio protocol, which increases processing delays.

Innovation Solution

A data processing method where a target virtual device writes target data into a shared memory and sends an interrupt instruction to a target physical processor through a pass-through register, allowing the processor to acquire the data and inform the corresponding back-end service program to process the request, thereby reducing the need for VM Exits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a half-virtual device based on virtio protocol is used, then the virtual device can be implemented with standard protocols, but multiple VM Exits are generated during data read/write processing, affecting performance

Engineering Contradiction:
Improveprotocol compatibilityVSAvoiddata processing performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent extracts the interrupt notification mechanism from the standard virtio protocol flow and implements it directly through pass-through registers. By taking out the interrupt notification step from the conventional virtio path, the system eliminates unnecessary VM Exits while maintaining protocol compatibility for other operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces pass-through registers as an intermediary mechanism between the virtual device and the physical processor. This intermediary allows direct communication and interrupt notification without requiring full VM Exit/Entry cycles, thus maintaining protocol compatibility while improving performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple VM Exits are generated during data read/write processing, then the virtual device can follow standard processing procedures, but processing delays increase

Engineering Contradiction:
Improveprocessing procedure correctnessVSAvoidprocessing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-configuring pass-through registers with interrupt notification capabilities before data processing begins. This allows the system to handle interrupts efficiently without going through multiple VM Exit/Entry cycles during actual data read/write operations, reducing processing delays while maintaining procedural correctness.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If a pass-through register is used for interrupt notification, then the number of VM Exits is reduced, but the device complexity increases

Engineering Contradiction:
Improvevirtual device performanceVSAvoidregister structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies universality by designing pass-through registers that serve multiple functions: data storage, address registration, and interrupt notification. This multi-functionality allows the system to reduce VM Exits and improve performance without adding separate complex structures, as the same register handles multiple tasks.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12498957B2Data processing method and apparatus, and readable medium and computing device
Publication Date: 2025.12.16 BEIJING YOUZHUJU NETWORK TECH CO LTD
  • US12498957B2 patent drawing
  • US12498957B2 patent drawing

AI summary

The disclosure relates to a data processing method, apparatus, readable medium, computing device, computer program product, and computer program. The method is implemented at a computing device. A virtual machine is executed in the computing device. The method includes: in response to a target virtual device receiving a data read/write request, writing, into a shared memory, target data comprised in the data read/write request, the target virtual device being a virtual device in the virtual machine; sending an interrupt instruction to a target physical processor in the computing device through a pass-through register corresponding to the target virtual device, the interrupt instruction being used by the target physical processor to acquire the target data from the shared memory according to the interrupt instruction, and inform, based on the target data, a corresponding back-end service program to process the data read/write request.