Kernel Memory Free Algorithm for Bus Contention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current approaches confine kernel pages to a limited subset of system boards, making them non-relocatable, which leads to system bus contention and performance degradation, especially when device drivers use Direct Memory Access (DMA), resulting in data corruption or recursive page faults.
Innovation Solution
The solution involves partitioning virtual memory address space into relocatable and non-relocatable regions, allowing identification and management of memory allocations to enable relocation of kernel pages, and modifying non-conforming drivers to use appropriate memory allocation and freeing functions to avoid recursive page faults.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If kernel pages are confined to a limited subset of system boards to ensure stability, then system reliability is improved, but system bus contention increases and performance degrades
Solution Approach 1:
The patent segments kernel pages into two categories: relocatable kernel pages and non-relocatable kernel pages. Relocatable kernel pages can be moved across system boards to balance the load and reduce bus contention, while non-relocatable kernel pages remain fixed to ensure system stability. This segmentation allows the system to simultaneously achieve both reliability and performance goals.
2Productivity
If kernel pages are made relocatable to improve system bus efficiency, then system performance is improved, but data corruption may occur due to DMA access
Solution Approach 1:
The patent implements a dynamic approach where kernel pages can change their relocatability status based on system conditions. Pages that were initially non-relocatable can become relocatable when device drivers are updated to support relocation, allowing the system to adapt and improve performance while maintaining data integrity through controlled transitions.
Solution Approach 2:
The system changes the parameter of relocatability for kernel pages based on driver capabilities and system state. By monitoring whether device drivers conform to relocation requirements, the system dynamically adjusts which kernel pages can be relocated, thereby optimizing system bus efficiency while preventing data corruption through informed decision-making.
3Ease of operation
If non-conforming device drivers are allowed to maintain compatibility, then ease of operation is improved, but recursive page faults occur causing system instability
Solution Approach 1:
The patent applies preliminary actions by updating device drivers before kernel page relocation occurs. The system checks whether device drivers are conforming (i.e., updated to support relocation) before attempting to relocate kernel pages. This preliminary verification prevents recursive page faults and system instability while maintaining compatibility with non-conforming drivers through controlled migration paths.
Data Source
AI summary
An approach for freeing memory based upon its relocatable or non-relocatable property is provided. In one embodiment, drivers and other processes that do not provide callback methods or similar capability to route DMA requests to the correct physical address are identified and all memory allocations made by the driver or other process are made from the appropriate region.


