Processor Control Registers for PEBS Physical Addressing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor event-based sampling technologies face limitations in generating and accessing performance information due to reliance on linear addresses, leading to difficulties in collecting records across various software contexts and lack of flexibility in configuring PEBS features, especially in virtualization environments.

Innovation Solution

The implementation of processor control registers that store physical addresses for event-based sampling information, allowing for independent configuration of PEBS enablement and record data group selection on a per-counter basis, enhancing accessibility and flexibility across different software environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If processor event-based sampling uses linear addresses for storing performance information, then the existing PEBS mechanism can operate, but accessibility and flexibility are limited especially in virtualization environments

Engineering Contradiction:
ImprovePEBS accessibility in virtualization environmentsVSAvoidconfiguration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent changes the addressing parameter from linear addresses to physical addresses for storing PEBS information. This parameter change enables the PEBS mechanism to function effectively in virtualization environments where linear address spaces are virtualized, while physical addresses remain consistent and directly accessible across different software contexts.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If PEBS configuration is centralized, then the mechanism is simpler to implement, but independent configuration per counter is not possible

Engineering Contradiction:
Improveindependent configuration capabilityVSAvoidregister structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the PEBS configuration into multiple independent Model Specific Registers (MSRs), with each MSR corresponding to a specific performance counter. This segmentation allows each counter to be configured independently with its own physical address and data group selection, providing fine-grained control while maintaining a structured register organization.

Inventive Principle:
Principle #1Segmentation

3Productivity

If a single PEBS buffer is used for all counters, then the mechanism is simpler, but per-counter performance data collection is limited

Engineering Contradiction:
Improveperformance data collection efficiencyVSAvoidbuffer management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the performance data buffer into multiple independent buffers, with each buffer associated with a specific performance counter through dedicated MSRs. This segmentation enables efficient per-counter data collection and processing, allowing different data groups to be collected simultaneously for multiple counters without interference.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20230315470A1Control register set to facilitate processor event based sampling
Publication Date: 2023.10.05 INTEL CORP
  • US20230315470A1 patent drawing
  • US20230315470A1 patent drawing
  • US20230315470A1 patent drawing

AI summary

Techniques and mechanisms for configuring processor event-based sampling (PEBS) with a set of control registers. In an embodiment, a first control register of a processor is programmed to store a physical address of a location in a buffer which receives PEBS records. The first control register is further programmed or otherwise configured to store an indication of a size of the buffer. A second control register of the processor stores a physical address of a location in the buffer were a next PEBS record is to be stored. In another embodiment, the processor further comprises multiple control registers which variously configure PEBS generation on a per-counter basis.