Spurious Interrupt Detection Module for PCI IRQ Lock Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems, spurious interrupt signals from PCI device functions can lock IRQ values, preventing other devices from asserting interrupts due to unresolved hardware or driver errors, leading to system instability and resource allocation issues.

Innovation Solution

A method and system for detecting spurious interrupt signals by a central processing unit, determining the IRQ value, scanning device functions sharing the IRQ value, and utilizing an interrupt handler to identify and resolve the source of the spurious signal through a spurious interrupt detection module, which increments or clears counters based on interrupt status and handler activity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If PCI devices share IRQ values to enable multiple devices to utilize the same interrupt line, then resource utilization improves, but system reliability deteriorates when a spurious interrupt cannot be deasserted

Engineering Contradiction:
ImproveIRQ sharing capabilityVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system implements a feedback mechanism by repeatedly scanning device functions and checking interrupt status to determine if a spurious interrupt persists. The spurious interrupt detection module continuously monitors the interrupt state and uses this feedback to identify whether the interrupt is being properly deasserted, allowing the system to distinguish between legitimate shared interrupts and problematic spurious ones.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The interrupt handler attempts to self-resolve the spurious interrupt by deasserting it through the device function. The system gives the interrupt handler an opportunity to clear the interrupt on its own before escalating to system-wide intervention, allowing the local component to service its own problem when possible.

Inventive Principle:
Principle #25Self-service

2Measurement precision

If the system scans each device function to identify the spurious interrupt source, then measurement precision improves, but device complexity increases

Engineering Contradiction:
Improvespurious interrupt source identification accuracyVSAvoiddetection mechanism complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The detection process is segmented into distinct phases: first determining the IRQ value from the spurious interrupt signal, then identifying which device functions share that IRQ value, and finally scanning only those specific device functions. This segmentation breaks down the complex identification task into manageable steps, improving precision without overwhelming system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Rather than scanning all device functions in the system, the implementation performs partial action by scanning only those device functions that share the specific IRQ value associated with the spurious interrupt. This reduces the scope of the scanning operation to the minimum necessary set, maintaining measurement precision while reducing overall complexity.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If the spurious interrupt is not resolved, then the interrupt handler cannot be invoked for other devices, but resolving it requires additional system resources

Engineering Contradiction:
Improveinterrupt processing throughputVSAvoidsystem resource consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system takes preliminary action by detecting and identifying spurious interrupts before they can lock up the IRQ value and prevent other devices from functioning. By proactively scanning device functions and identifying the spurious interrupt source early, the system prevents the cascade failure that would otherwise occur, maintaining productivity without requiring excessive resources for recovery.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system discards the spurious interrupt condition by identifying and deasserting it through the interrupt handler, then recovers the IRQ value for use by other devices. This allows the system to eliminate the harmful interrupt and restore normal interrupt processing functionality, balancing resource consumption with productivity recovery.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS9830287B2Determination of a device function asserting a detected spurious interrupt
Publication Date: 2017.11.28 RED HAT ISRAEL
  • US9830287B2 patent drawing
  • US9830287B2 patent drawing
  • US9830287B2 patent drawing

AI summary

Systems and methods are provided for detection of device functions asserting a spurious interrupt. An example method includes detecting, by a central processing unit executing an operating system, a spurious hardware interrupt signal from a device function, wherein a plurality of device functions include the device function, determining an Interrupt Request (IRQ) value from the spurious hardware interrupt signal, wherein the plurality of device functions share the IRQ value, and scanning each of the plurality of device functions to determine the device function generated the spurious hardware interrupt signal.