Run-Time Instrumentation Control Modification via MRIC Instruction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computing environments, it is challenging for software developers to access and understand hardware-specific information at a granular level, especially when performance-enhancing logic and virtualization introduce additional layers of abstraction, making it difficult to identify efficiency and accuracy issues in software applications.
Innovation Solution
A method and system that allow modifying run-time-instrumentation controls from a lesser-privileged state through the MRIC instruction, which fetches and loads values into run-time-instrumentation controls, providing event information and updating model-dependent values to improve instrumentation and monitoring capabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If hardware virtualization and performance-enhancing logic are introduced to increase processing throughput, then processing performance is improved, but the ability to access and understand hardware-specific information at a granular level deteriorates
Solution Approach 1:
The patent introduces a run-time instrumentation facility as an intermediary layer between the privileged state (OS/kernel) and lesser-privileged state (user applications). This facility includes control blocks (RICCB) and buffers (RIB) that mediate access to processor event information, allowing user applications to obtain detailed hardware-level instrumentation data without requiring privileged state access or sacrificing processing performance.
2Adaptability or versatility
If multiple layers of abstraction are introduced through virtualization and performance logic, then processing capability is enhanced, but the difficulty of detecting and measuring hardware-level events increases
Solution Approach 1:
The patent segments the instrumentation control mechanism into distinct components: a control block (RICCB) for configuration, a buffer (RIB) for event storage, and control fields for managing access. This segmentation allows each component to have a specific function, making the overall system more manageable and accessible to user applications while maintaining the necessary abstraction layers for performance optimization.
3Reliability
If privileged state control is maintained for all run-time-instrumentation controls, then system security and integrity are preserved, but the ease of operation for user applications deteriorates
Solution Approach 1:
The patent implements local quality by allowing user applications to modify specific subsets of run-time-instrumentation control fields (such as event selection and buffer addressing) while maintaining privileged state control over critical system-level parameters. This is achieved through the MRIC instruction which provides targeted access to specific control fields, enabling user applications to customize instrumentation behavior without compromising overall system integrity.
Data Source
Figure 1A
Figure 1B
Figure 1C
AI summary
Embodiments of the invention relate to modifying run-time-instrumentation controls (MRIC) from a lesser-privileged state. The MRIC instruction is fetched. The MRIC instruction includes the address of a run-time-instrumentation control block (RICCB). The RICCB is fetched based on the address included in the MRIC instruction. The RICCB includes values for modifying a subset of the processor's run-time-instrumentation controls. The subset of run-time-instrumentation controls includes a runtime instrumentation program buffer current address (RCA) of a runtime instrumentation program buffer (RIB) location. The RIB holds run-time-instrumentation information of the events recognized by the processor during program execution. The values of the RICCB are loaded into the run-time-instrumentation controls. Event information is provided to the RIB based on the values that were loaded in the run-time-instrumentation control.