SRIOV Adapter Error Handling via Partition Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing solutions for error handling in shared hardware I/O adapters, such as SRIOV adapters, are inadequate as they require coordination across multiple partitions, which is not effectively managed, leading to inefficiencies in error recovery operations.
Innovation Solution
The method involves partitioning the hardware I/O adapter into multiple endpoints, where each endpoint is managed independently for limited actions and as a group for adapter-wide actions, allowing for error isolation and recovery without coordination between adapter and VF device drivers, enabling efficient error handling and recovery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If error handling coordinates across multiple partitions in shared hardware I/O adapters, then error recovery completeness is improved, but system complexity and coordination overhead increase
Solution Approach 1:
The error handling system is segmented into partition-specific error handlers and adapter-wide error handlers. Each partition has its own error handling logic that operates independently, while the adapter-wide handler manages global error states. This segmentation eliminates the need for complex coordination between partitions, as each handles its own errors locally while the adapter handler manages shared resources.
Solution Approach 2:
The patent introduces an intermediary error handling layer that sits between partition-specific error handlers and the hardware adapter. This intermediary manages the coordination by receiving error notifications from any partition, determining the appropriate recovery action, and executing it without requiring direct communication between partitions. The intermediary abstracts the complexity of multi-partition coordination.
2Stability of the object's composition
If error handling isolates failures to single partitions, then system stability is improved, but error recovery scope is limited
Solution Approach 1:
The error handling system dynamically adjusts its scope based on the nature and severity of the error. For localized errors affecting single partitions, the system isolates recovery to that partition maintaining stability. For adapter-wide errors, the system dynamically expands the recovery scope to include all partitions. This dynamic adaptation allows the system to balance stability and recovery scope based on actual error conditions.
Solution Approach 2:
The system segments error handling into hierarchical levels: partition-level error isolation for stability, and adapter-level error recovery for comprehensive scope. The segmentation allows errors to be contained at the partition level when possible, preventing system-wide instability, while still providing the capability for broader recovery when errors affect the entire adapter.
3Adaptability or versatility
If multiple device drivers manage shared adapter endpoints, then adapter functionality is improved, but error coordination difficulty increases
Solution Approach 1:
Each device driver is equipped with self-service error handling capabilities that allow it to detect and recover from errors affecting its specific partition without requiring coordination with other drivers. The driver independently manages its own error state, recovers from failures, and continues operation, eliminating the need for complex inter-driver coordination protocols.
Solution Approach 2:
An intermediary error management layer is introduced that receives error notifications from multiple device drivers and coordinates the recovery process centrally. This intermediary abstracts the complexity of multi-driver coordination by providing a unified error handling interface, allowing drivers to operate independently while ensuring coherent system-wide error management.
Data Source
AI summary
A method, system and computer program product are provided for implementing enhanced error handling for a hardware I/O adapter, such as a Single Root Input/Output Virtualization (SRIOV) adapter, in a virtualized system. The hardware I/O adapter is partitioned into multiple endpoints, with each Partitionable Endpoint (PE) corresponding to a function, and there is an adapter PE associated with the entire adapter. The endpoints are managed both independently for actions limited in scope to a single function, and as a group for actions with the scope of the adapter. An error or failure of the adapter PE freezes the adapter PE and propagates to the VF PEs associated with the adapter, causing the VF PEs to be frozen. An adapter driver and VF device drivers are informed of the error, and start recovery. The hypervisor locks out the VF device drivers at key points enabling adapter recovery to successfully complete.


