IOMMU Interrupt Remapping via Virtual APIC Backing Pages

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The reliance on hypervisors for processing input-output memory management unit (IOMMU) interrupts in virtualized electronic devices leads to increased processing latency, memory bus traffic, and processor load, which negatively impacts overall performance.

Innovation Solution

The IOMMU directly communicates IOMMU-sourced interrupts to guest operating systems via virtual APIC backing pages in memory, eliminating the need for hypervisor intervention, thereby reducing latency and memory bus traffic.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the hypervisor processes IOMMU interrupts, then interrupt handling is performed with centralized control, but processing latency increases and processor load increases

Engineering Contradiction:
Improveinterrupt handling controlVSAvoidprocessing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the interrupt processing function from the hypervisor and relocates it to the IOMMU device itself. The IOMMU now autonomously writes interrupt information to the virtual APIC backing page and communicates with the guest OS directly, removing the hypervisor from the interrupt processing path and reducing latency while maintaining centralized control through the IOMMU's own control logic.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The IOMMU device performs self-service by autonomously handling interrupt processing without requiring hypervisor intervention. It directly writes to the guest OS's virtual APIC backing page and communicates interrupt status, enabling the IOMMU to serve itself and the guest OS independently, thereby reducing processor load and latency.

Inventive Principle:
Principle #25Self-service

2Reliability

If the hypervisor processes IOMMU interrupts, then centralized management is maintained, but memory bus traffic increases

Engineering Contradiction:
Improveinterrupt managementVSAvoidmemory bus traffic
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts the memory access operations for interrupt handling from the hypervisor path and places them directly in the IOMMU-to-guest-OS path. The IOMMU directly accesses the virtual APIC backing page in guest memory without hypervisor mediation, significantly reducing memory bus traffic while maintaining reliable interrupt management through the IOMMU's own control mechanisms.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If the IOMMU directly communicates with the guest operating system, then processing speed increases, but device complexity increases

Engineering Contradiction:
Improveinterrupt processing speedVSAvoidIOMMU communication mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces the virtual APIC backing page as an intermediary data structure that enables direct communication between the IOMMU and guest OS. This intermediary mechanism allows the IOMMU to write interrupt information directly to guest memory space, achieving high-speed communication while keeping the IOMMU's complexity manageable by using existing memory-based communication patterns rather than requiring complex direct hardware-to-OS protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP4031965B1Providing interrupts from an input-output memory management unit to guest operating systems
Publication Date: 2026.01.28 ADVANCED MICRO DEVICES INC
  • EP4031965B1 patent drawingFigure 1
  • EP4031965B1 patent drawingFigure 2
  • EP4031965B1 patent drawingFigure 3

AI summary

An electronic device includes a processor that executes a guest operating system; a memory having a guest portion that is reserved for storing data and information to be accessed by the guest operating system; and an input-output memory management unit (IOMMU). The IOMMU performs operations for signaling an interrupt to the guest operating system. For these operations, the IOMMU acquires, from an entry in an interrupt remapping table associated with the guest operating system, a location in a virtual advanced programmable interrupt controller (APIC) backing page for the guest operating system in the guest portion of the memory. The IOMMU then writes information about the interrupt to the location in the virtual APIC backing page. The IOMMU next communicates an indication of the interrupt to the guest operating system.