Nested Hypervisor Page Modification Logging via Shadow Extended Page Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualization systems, nested hypervisors face challenges in sharing page modification logging functionality with host hypervisors, leading to inefficient operations and overhead due to the lack of support for page modification logging mechanisms.

Innovation Solution

The method involves emulating a page modification logging (PML) buffer for nested hypervisors, allowing them to set up their own buffers and avoid write-protection of guest pages, thereby optimizing interactions between the host and nested hypervisors and reducing overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If the host hypervisor write-protects guest pages to enable page modification logging, then page tracking capability is improved, but access efficiency deteriorates due to increased switching overhead

Engineering Contradiction:
Improvepage modification trackingVSAvoidaccess efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent introduces a shadow extended page table as an intermediary structure between the nested hypervisor and the host hypervisor. This shadow page table allows the nested hypervisor to maintain its own page modification logging buffer without requiring direct write-protection of guest pages by the host hypervisor, thereby reducing switching overhead while preserving page tracking capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the page modification logging functionality by allowing the nested hypervisor to maintain an independent shadow extended page table with its own PML buffer. This segmentation enables the nested hypervisor to handle page modification tracking autonomously, reducing the need for frequent interactions with the host hypervisor and minimizing switching overhead.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If the nested hypervisor shares page modification logging functionality with the host hypervisor, then resource utilization is improved, but operational efficiency deteriorates due to lack of support for nested PML

Engineering Contradiction:
Improveresource sharingVSAvoidoperational efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent implements a universal page modification logging mechanism that works across both the host and nested hypervisors. The shadow extended page table structure enables the nested hypervisor to utilize the host's memory resources while maintaining independent control over page modification logging, achieving both resource sharing and operational efficiency.

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

Solution Approach 2:

The patent applies the nesting principle by implementing a shadow extended page table within the nested hypervisor that mirrors the host's extended page table structure. This nested structure allows the nested hypervisor to maintain its own PML buffer while sharing the host's physical memory resources, achieving efficient resource utilization without sacrificing operational independence.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS20190121744A1Emulating page modification logging for a nested hypervisor
Publication Date: 2019.04.25 RED HAT INC
  • US20190121744A1 patent drawing
  • US20190121744A1 patent drawing
  • US20190121744A1 patent drawing

AI summary

A system and method of emulating page table modification logging includes a host hypervisor identifying a first mapping in a nested extended page table and identifying a first bit in a first page table entry of the nested extended page table. The host hypervisor creates a second write-protected mapping in a shadow extended page table. The nested guest performs a first write access to a first page in the nested guest. The first page has a first nested guest physical address corresponding to the second mapping. The host hypervisor triggers an exit from the nested guest to the host hypervisor. The host hypervisor identifies that the first write access occurred and stores the first nested guest physical address in a page modification log (PML) buffer of the nested hypervisor. The host hypervisor sets the first bit as a dirty bit and returns to the nested guest.