Virtualizer Interrupt Configuration Control for Partitioned Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computer systems with multiple CPUs and partitions, interrupts can cause unnecessary processing delays and instability by stopping unrelated partitions, leading to reduced responsiveness and increased processing time.
Innovation Solution
An electronic device with an interrupt controller and virtualizer that manages interrupts by checking configurations against interrupt and processor information, allowing or deleting configurations based on relevance to ensure only necessary interrupts are processed, thereby reducing interference between partitions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If interrupt transmission is allowed between all partitions, then communication between partitions is enabled, but processing time increases and responsiveness decreases due to unnecessary interrupts stopping unrelated partitions
Solution Approach 1:
The interrupt configuration register is segmented into multiple fields, each corresponding to a specific partition. The virtualizer selectively updates only the relevant fields in the interrupt configuration register based on the source partition ID and destination partition ID, rather than updating the entire register or allowing all partitions to access all interrupt configurations. This segmentation prevents unnecessary interrupt transmissions to unrelated partitions.
Solution Approach 2:
The virtualizer acts as an intermediary between the interrupt controller and partitions. It intercepts interrupt configuration requests, validates them against the virtual machine configuration, and selectively applies only valid configurations. This intermediary role prevents partitions from directly configuring interrupts that would affect other partitions, thereby reducing unnecessary interrupt processing.
2Ease of operation
If interrupt configuration is freely accessible to partitions, then partition autonomy is improved, but system stability deteriorates due to interference between partitions
Solution Approach 1:
Each partition is granted access rights to specific fields in the interrupt configuration register based on its identity and configuration. The virtualizer checks whether the source partition has authorization to modify the target interrupt configuration before allowing the write operation. This localized access control maintains partition autonomy for relevant configurations while preventing interference with other partitions' interrupt handling.
Solution Approach 2:
The virtualizer performs preliminary validation of interrupt configuration requests before they are applied to the interrupt controller. It checks whether the configuration would affect unrelated partitions and blocks such configurations in advance. This preliminary action prevents unstable interrupt interactions from occurring, maintaining system stability while allowing autonomous configuration within bounds.
3Adaptability or versatility
If all interrupt configurations are permitted, then device functionality is maximized, but processing efficiency decreases due to unnecessary interrupt handling
Solution Approach 1:
The interrupt configuration is made dynamic and context-dependent. The virtualizer determines which interrupt configurations are valid based on the current execution context, including the source partition ID, destination partition ID, and virtual machine configuration. This dynamic validation ensures that only functionally necessary interrupts are permitted, maximizing device functionality while maintaining processing efficiency by blocking unnecessary interrupt transmissions.
Data Source
AI summary
An electronic device includes a peripheral device, a processor, an interrupt controller configured to manage interrupts generated by the peripheral device and the processor on the basis of a register, and a virtualizer, wherein the virtualizer may be configured to virtualize a portion of the processor and a portion of the at least one peripheral device to generate a first partition, generate first interrupt information corresponding to an interrupt usable in the first partition, generate first processor information corresponding to a portion of the processor usable in the first partition, check whether a configuration of the register is related to at least one of the first interrupt information and the first processor information when the register is configured by the first partition, and allow the configuration of the register when the configuration of the register is related to the at least one information.


