Uncore Manual

Uncore Performance Monitoring
Cacheing Agent (Cbo) Performance Monitoring
36 Reference Number: 329468-002
2.3.4 CBo Performance Monitoring Events
2.3.4.1 An Overview:
The performance monitoring events within the CBo include all events internal to the LLC as well as
events which track ring related activity at the CBo/Core ring stops.
CBo performance monitoring events can be used to track LLC access rates, LLC hit/miss rates, LLC evic-
tion and fill rates, and to detect evidence of back pressure on the LLC pipelines. In addition, the CBo has
performance monitoring events for tracking MESI state transitions that occur as a result of data sharing
across sockets in a multi-socket system. And finally, there are events in the CBo for tracking ring traffic
at the CBo/Core sink inject points.
Every event in the CBo is from the point of view of the LLC and is not associated with any specific core
since all cores in the socket send their LLC transactions to all CBos in the socket. However, the CBo
provides a thread-id field in the Cn_MSR_PMON_BOX_FILTER register which can be applied to the CBo
events to obtain the interactions between specific cores and threads.
There are separate sets of counters for each CBo instance. For any event, to get an aggregate count of
that event for the entire LLC, the counts across the CBo instances must be added together. The counts
can be averaged across the CBo instances to get a view of the typical count of an event from the
perspective of the individual CBos. Individual per-CBo deviations from the average can be used to iden-
tify hot-spotting across the CBos or other evidences of non-uniformity in LLC behavior across the CBos.
Such hot-spotting should be rare, though a repetitive polling on a fixed physical address is one obvious
example of a case where an analysis of the deviations across the CBos would indicate hot-spotting.
0x19D PCIWrUpdate PCIe Write Update (prior generation uncore in Intel
®
Xeon
®
processor E5-
2600 Product Family)
- see PCIRMW, except does not return data back to IIO from ownership
read request.
0x19E PCIRdCur PCIe read current
- Read Current requests from IIO. Used to read data without changing
state.
0x19E PCIRMW PCIe Read-Modify-Write (prior generation uncore in Intel Xeon processor
E5-2600 Product Family)
- Read-Modify-Write request from IIO. Uncore gains ownership and return
latest data followed by full line writeback from IIO == atomic flow. After
transaction, LLC state is M.
0x1C4 WbMtoI Request writeback Modified invalidate line
- Evict full M-state cache line from core. Guarantees core has no cached
copies.
0x1C5 WbMtoE Request writeback Modified set to Exclusive
- Evict full M-state cache line from core.
0x1C8 ItoM Request Invalidate Line
- Request Exclusive Ownership of cache line
0x1E4 PCINSRd PCIe Non-Snoop Read
- Non-snoop read requests of full cache lines from IIO. (SW must
guarantee coherency)
0x1E5 PCINSWr PCIe Non-Snoop Write (partial)
- Non-snoop write requests of partial cache lines from IIO. Always
uncacheable.
0x1E6 PCINSWrF PCIe Non-Snoop Write (full)
- Non-snoop write requests of full cache lines from IIO. Always
uncacheable.
opc
Value
Opcode Defn