VMM Handler Code Placement in Guest Pages for I/O Virtualization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtualization technologies face challenges in efficiently managing input/output (I/O) and interrupt events across multiple privileged programs executing on the same physical machine, leading to potential interference and performance issues.

Innovation Solution

The method involves obtaining pages in the guest virtual and physical address space, storing handler code to process I/O or interrupt events, and redirecting these events from guest handler code to VMM handler code, which is stored in allocated pages, thereby controlling and processing events without guest exits, enhancing performance by avoiding unnecessary virtualization overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If guest handler code is used to process I/O or interrupt events, then the guest program can directly handle events, but the guest may interfere with other privileged programs and cause performance issues

Engineering Contradiction:
Improveevent processing speedVSAvoidisolation between privileged programs
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a shadow interrupt descriptor table as an intermediary layer between the guest interrupt descriptor table and the actual interrupt handling. This shadow table redirects interrupt events to VMM handler code while maintaining the appearance of direct guest handling, thus achieving both fast event processing and proper isolation through the VMM mediator.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If VMM handler code is used to process all I/O or interrupt events, then isolation between privileged programs is maintained, but additional virtualization overhead is introduced

Engineering Contradiction:
Improveisolation between privileged programsVSAvoidtime for guest exits
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies local quality by making the interrupt handling approach selective rather than uniform. The shadow interrupt descriptor table allows certain interrupts to be redirected to VMM handlers while others can be handled directly by guest code, optimizing performance for specific event types while maintaining isolation where needed.

Inventive Principle:
Principle #3Local quality

3Loss of time

If guest handler code processes events directly, then virtualization overhead is reduced, but interference between privileged programs occurs

Engineering Contradiction:
Improvetime for guest exitsVSAvoidinterference between privileged programs
Core Design Contradiction:
Loss of timeVSObject-generated harmful factors

Solution Approach 1:

The shadow interrupt descriptor table serves as a mediator that sits between guest code and the physical interrupt handling. It allows guest handler code to execute quickly for isolated events while the VMM maintains control through the shadow table, preventing interference without requiring full VMM mediation for every event.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8032897B2Placing virtual machine monitor (VMM) code in guest context to speed memory mapped input/output virtualization
Publication Date: 2011.10.04 GLOBALFOUNDRIES US INC
  • US8032897B2 patent drawing
  • US8032897B2 patent drawing
  • US8032897B2 patent drawing

AI summary

In one embodiment, a method comprises: obtaining use of one or more pages in a guest physical address space of a guest; storing handler code to process one or more input/output (I/O) and/or interrupt events in the one or more pages; and redirecting a first event of the one or more I/O events from guest handler code that would process the first event to the handler code in the one or more pages. Also contemplated is a computer accessible medium comprising a plurality of instructions, which, when executed by a computer, implement the method.