Load When Reservation Lost Instruction for Cacheable Memory Polling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional information handling systems face inefficiencies in detecting the completion of DMA transfers due to high interrupt overhead and inefficient bus bandwidth usage in MMIO register polling, leading to wastage of system resources during cacheline polling.

Innovation Solution

Implementing a load when reservation lost instruction for cacheline polling, where a first process requests an action via a store operation to a cacheable memory location, reads the location conditionally to check completion, sets a reservation, and stalls until the reservation is lost, reducing resource wastage by avoiding repeated polling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If MMIO register polling is used to detect DMA completion, then the detection mechanism is simple, but bus bandwidth is inefficiently utilized and system throughput decreases

Engineering Contradiction:
Improvesimplicity of detection mechanismVSAvoidsystem throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent introduces a cacheable memory location as an intermediary between the DMA controller and the polling processor. This intermediary allows the DMA controller to set a completion indicator without requiring the polling processor to continuously monitor MMIO registers, thereby reducing bus bandwidth consumption while maintaining detection capability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The DMA controller performs a preliminary action by setting a completion indicator in a cacheable memory location before the polling processor needs to check for completion. This preliminary setup eliminates the need for continuous polling of MMIO registers, reducing bus traffic and improving system throughput

Inventive Principle:
Principle #10Preliminary action

2Extent of automation

If interrupts are used to detect DMA completion, then detection is automatic, but interrupt overhead is too great for small buffers

Engineering Contradiction:
Improveautomatic detectionVSAvoidinterrupt overhead
Core Design Contradiction:
Extent of automationVSLoss of time

Solution Approach 1:

The cacheable memory location serves as an intermediary that bridges automatic DMA completion and processor polling. The DMA controller automatically sets the indicator in this intermediary location, and the processor periodically checks this location without requiring full interrupt handling, thereby reducing interrupt overhead while maintaining automatic detection capability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Instead of using full interrupt handling for every DMA completion, the patent applies partial action by having the processor perform lightweight polling checks at cacheable memory locations. This partial polling approach provides sufficient detection for small buffers without the excessive overhead of complete interrupt processing

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If conventional polling instructions are used repeatedly, then completion detection is achieved, but processor cycles and power are wasted

Engineering Contradiction:
Improvecompletion detectionVSAvoidprocessor cycles and power
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The cacheable memory location acts as an intermediary that persists between polling iterations. Once set by the DMA controller, the completion indicator remains in this intermediary location, allowing the processor to check completion status without repeatedly accessing MMIO registers or executing unnecessary polling instructions, thereby reducing processor cycles and power consumption

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The cacheable memory location serves itself by maintaining the completion indicator across polling iterations. Once the DMA controller sets the indicator, it remains available for the processor to check without requiring continuous intervention or resource consumption, enabling the system to self-manage the completion detection process efficiently

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9983874B2Structure for a circuit function that implements a load when reservation lost instruction to perform cacheline polling
Publication Date: 2018.05.29 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9983874B2 patent drawing
  • US9983874B2 patent drawing
  • US9983874B2 patent drawing

AI summary

A design structure for a circuit function that implements a load when reservation lost instruction for performing cacheline polling is disclosed. Initially, a first process requests an action to be performed by a second process. The request is made via a store operation to a cacheable memory location. The first process then reads the cacheable memory location via a conditional load operation to determine whether or not the requested action has been completed by the second process, and the first process sets a reservation at the cacheable memory location if the requested action has not been completed by the second process. The conditional load operation of the first process is stalled until the reservation at the cacheable memory location has been lost. After the requested action has been completed, the reservation in the cacheable memory location is reset by the second process.