I
NTEL
® X
EON
® P
ROCESSOR
7500 S
ERIES
U
NCORE
P
ROGRAMMING
G
UIDE
UNCORE PERFORMANCE MONITORING
2-6
The U-Box performance monitor data register is 48b wide. A counter overflow occurs when a carry out
bit from bit 47 is detected. Software can force all uncore counting to freeze after N events by preloading
a monitor with a count value of 2
48
- N and setting the control register to send a PMI to the U-Box. Upon
receipt of the PMI, the U-Box will disable counting (
Section 2.1.1.1, “Freezing on Counter Overflow”
).
During the interval of time between overflow and global disable, the counter value will wrap and
continue to collect events.
In this way, software can capture the precise number of events that occurred between the time uncore
counting was enabled and when it was disabled (or ‘frozen’) with minimal skew.
If accessible, software can continuously read the data registers without disabling event collection.
Table 2-7. U_MSR_PMON_CTR Register – Field Definitions
2.2.2
U-Box Performance Monitoring Events
The set of events that can be monitored in the U-Box are summarized in the following section.
- Tracks NcMsgS packets generated by the U-Box, as they arbitrate to be broadcast. They are
prioritized as follows: Special Cycle->StopReq1/StartReq2->Lock/Unlock->Remote Interrupts->Local
Interrupts.
- Errors detected and distinguished between recoverable, corrected, uncorrected and fatal.
- Number of times cores were sent IPIs or were Woken up.
- Requests to the Ring or a B-Box.
etc.
2.2.3
U-Box Events Ordered By Code
summarizes the directly-measured U-Box events.
Field
Bits
HW
Reset
Val
Description
event_count
47:0
0 48-bit performance event counter
Table 2-8. Performance Monitor Events for U-Box Events
Symbol Name
Event
Code
Max
Inc/Cyc
Description
BUF_VALID_LOCAL_INT
0x000
1
Local IPI Buffer is valid
BUF_VALID_REMOTE_INT
0x001
1
Remote IPI Buffer is valid
BUF_VALID_LOCK
0x002
1
Lock Buffer is valid
BUF_VALID_STST
0x003
1
Start/Stop Req Buffer is valid
BUF_VALID_SPC_CYCLES
0x004
1
SpcCyc Buffer is valid
U2R_REQUESTS
0x050
1
Number U-Box to Ring Requests
U2B_REQUEST_CYCLES
0x051
1
U to B-Box Active Request Cycles
WOKEN
0x0F8
1
Number of core woken up
IPIS_SENT
0x0F9
1
Number of core IPIs sent
RECOV
0x1DF
1
Recoverable
CORRECTED_ERR
0x1E4
1
Corrected Error