MSI to I/O Event Notification Conversion via Bit Vectors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing environments face challenges in efficiently managing interruptions from adapters, particularly in converting message signaled interruptions (MSI) into I/O adapter event notifications, especially when handling multiple MSI vectors and supporting virtualization across various operating systems and hardware configurations.

Innovation Solution

The solution involves creating a system that converts MSI requests into I/O adapter event notifications by using adapter interruption bit vectors (AIBVs) and adapter interruption summary bits (AISBs), which are managed through a device table and handled by the operating system to consolidate multiple MSI requests into a single interruption, enabling efficient processing and notification to both host and guest operating systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple MSI vectors are used by adapter functions, then the ability to notify the operating system of multiple different events is improved, but the number of CPU interruption vector entries consumed increases

Engineering Contradiction:
Improveability to notify operating system of multiple eventsVSAvoidnumber of CPU interruption vector entries consumed
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges multiple MSI vectors into a single shared interrupt vector. Instead of allocating separate CPU interruption vector entries for each MSI vector, the system consolidates them into one shared entry that handles multiple event types from multiple adapter functions, thereby reducing the total number of interruption vector entries required while maintaining the ability to notify the operating system of multiple different events.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared interrupt vector serves multiple functions by handling interruptions from multiple different adapter functions and multiple different event types. This universal interrupt handler can differentiate between various event sources and types while using a single CPU interruption vector entry, making the interruption system more versatile without increasing complexity.

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

2Measurement precision

If each MSI request generates a unique interruption, then event notification accuracy is improved, but system overhead and latency increase

Engineering Contradiction:
Improveevent notification accuracyVSAvoidsystem overhead and latency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

Multiple MSI requests are merged into a single shared interrupt vector handling mechanism. Instead of generating separate interruptions for each MSI request, the system combines them into one unified interrupt handling process, reducing system overhead and latency while maintaining accurate event notification through proper tracking and identification of individual event sources within the shared handler.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP2430540B1Converting a message signaled interruption into an I/O adapter event notification to a guest operating system
Publication Date: 2016.03.30 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP2430540B1 patent drawingFigure 1A
  • EP2430540B1 patent drawingFigure 1B
  • EP2430540B1 patent drawingFigure 2A

AI summary

One or more message signaled interruption requests from one or more input/output (I/O) adapters are converted to I/O adapter event notifications while retaining the message vector indication. An I/O adapter event notification may be routed and presented to a host or to a guest that the host is executing. To present the notification to the correct host or to the correct guest, various data structures in host and/or guest memory are used.