Interrupt Controller Scheduling for Processor Core Stalling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network processors face challenges in handling interrupts during critical operations, as they may stall other processor cores until the interrupt is handled, and disabling or prioritizing interrupts is not always effective in ensuring timely processing.
Innovation Solution
Converting interrupts into scheduled events by using an interrupt controller that prioritizes and schedules them, utilizing a vector table and scheduler engine to manage interrupt status and work properties, and storing interrupt work properties in main memory to optimize resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If interrupts are disabled or only highest priority interrupts are accepted during critical operations, then processor core stalling is reduced, but interrupt handling timeliness cannot be guaranteed
Solution Approach 1:
The interrupt handling process is segmented into two distinct paths: critical interrupts that require immediate processing and non-critical interrupts that can be deferred to scheduled events. This segmentation allows the system to maintain high processor throughput during critical operations while ensuring that important interrupts are still handled timely through the immediate processing path.
Solution Approach 2:
The system performs preliminary classification of interrupts at the point of reception, determining whether each interrupt requires immediate processing or can be scheduled. This preliminary action prevents processor stalling by pre-identifying which interrupts can be deferred, while maintaining reliability by ensuring critical interrupts are immediately processed.
2Reliability
If interrupts are immediately processed, then interrupt handling timeliness is ensured, but processor core stalling occurs during critical operations
Solution Approach 1:
The system dynamically adjusts interrupt handling behavior based on the current operational state of the processor. During critical operations, the system dynamically switches to a more selective interrupt handling mode that defers non-critical interrupts to scheduled events, while maintaining immediate processing for critical interrupts. This dynamic adaptation resolves the contradiction by allowing the system to optimize for timeliness when necessary and for throughput when safe to do so.
3Productivity
If interrupts are converted to scheduled events, then resource utilization is optimized, but interrupt handling may be delayed
Solution Approach 1:
The system applies different quality levels of interrupt handling based on the specific interrupt type and system state. Critical interrupts receive immediate local processing with high priority, while non-critical interrupts are converted to scheduled events with lower priority. This local quality differentiation optimizes resource utilization for non-critical interrupts while minimizing delays for critical interrupts, resolving the contradiction between resource efficiency and timing.
Data Source
AI summary
A method and an apparatus embodying the method for converting interrupts into scheduled events, comprising receiving an interrupt at an interrupt controller; determining a vector number for the interrupt; determining properties of an interrupt work in accordance with the vector number; and scheduling the interrupt work in accordance with the properties of the interrupt work, is disclosed.


