Virtualization Exceptions for VM Exit Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The frequency of Virtual Machine (VM) exits in virtualization environments is high, leading to performance inefficiencies, as they require significant processing overhead and resource allocation changes.

Innovation Solution

Implementing virtualization exceptions, such as the #VE (Virtualization Exception) mechanism, which allows privileged events like EPT violations to be handled directly within a VM without causing a VM exit, using configurable VMCS bits and fine-grained control structures to manage responses to privileged events, enabling direct control transfers between guest applications or processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If VM exits are used to handle privileged events, then the VMM can enforce virtualization policies and maintain system control, but the processing overhead increases and performance decreases

Engineering Contradiction:
Improvevirtualization policy enforcementVSAvoidprocessing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a shadow page table structure as an intermediary layer between the guest OS and the VMM. This shadow page table intercepts privileged memory access events (EPT violations) and handles them through a shadow page fault exception mechanism, allowing the system to maintain VMM control and policy enforcement while avoiding the heavy overhead of traditional VM exits. The shadow page table acts as a mediator that resolves memory access conflicts without requiring full virtualization context switches.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If frequent VM exits occur to handle privileged events, then system control and security are maintained, but resource allocation changes cause performance inefficiencies

Engineering Contradiction:
Improvesystem controlVSAvoidtime for resource allocation changes
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent pre-configures shadow page tables with the necessary permissions and mappings before guest OS execution. By establishing the shadow page table structure in advance with pre-computed page table entries and permission bits, the system eliminates the need for time-consuming resource allocation changes during runtime VM exits. The shadow page table is prepared beforehand to handle anticipated memory access patterns, reducing latency for privileged event handling.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If traditional VM exit mechanisms are used for all privileged events, then the VMM can handle all events centrally, but the complexity of event management increases

Engineering Contradiction:
Improvecentralized event handlingVSAvoidevent management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the event handling mechanism by creating separate shadow page tables for different address spaces and permission levels. Instead of a single centralized VM exit handler for all privileged events, the system divides event management into multiple shadow page table structures, each handling specific types of memory access violations. This segmentation allows selective handling of different event types through appropriate shadow page fault exceptions, reducing the complexity burden on the central VMM while maintaining comprehensive event coverage.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10901772B2Virtualization exceptions
Publication Date: 2021.01.26 INTEL CORP
  • US10901772B2 patent drawing
  • US10901772B2 patent drawing

AI summary

Embodiments of an invention for virtualization exceptions are disclosed. In one embodiment, a processor includes instruction hardware, control logic, and execution hardware. The instruction hardware is to receive a plurality of instructions, including an instruction to enter a virtual machine. The control logic is to determine, in response to a privileged event occurring within the virtual machine, whether to generate a virtualization exception. The execution hardware is to generate a virtualization exception in response to the control logic determining to generate a virtualization exception.