Intel(r) Performance Counter Monitor
|
Object to access uncore counters in a socket/processor with microarchitecture codename SandyBridge-EP (Jaketown) or Ivytown-EP or Ivytown-EX. More...
#include <cpucounters.h>
Public Member Functions | |
ServerPCICFGUncore (uint32 socket_, PCM *pcm) | |
Initialize access data structures. More... | |
void | program () |
Program performance counters (disables programming power counters) | |
uint64 | getImcReads () |
Get the number of integrated controller reads (in cache lines) | |
uint64 | getImcWrites () |
Get the number of integrated controller writes (in cache lines) | |
uint64 | getIncomingDataFlits (uint32 port) |
Get the number of incoming data flits to the socket through a port. More... | |
uint64 | getOutgoingDataNonDataFlits (uint32 port) |
Get the number of outgoing data and non-data flits from the socket through a port. More... | |
void | program_power_metrics (int mc_profile) |
Program power counters (disables programming performance counters) More... | |
uint64 | getQPIClocks (uint32 port) |
Get number of QPI LL clocks on a QPI port. More... | |
uint64 | getQPIL0pTxCycles (uint32 port) |
Get number cycles on a QPI port when the link was in a power saving half-lane mode. More... | |
uint64 | getQPIL1Cycles (uint32 port) |
Get number cycles on a QPI port when the link was in a power saving shutdown mode. More... | |
uint64 | getDRAMClocks (uint32 channel) |
Get number DRAM channel cycles. More... | |
uint64 | getMCCounter (uint32 channel, uint32 counter) |
Direct read of memory controller PMU counter (counter meaning depends on the programming: power/performance/etc) More... | |
uint64 | getQPILLCounter (uint32 port, uint32 counter) |
Direct read of QPI LL PMU counter (counter meaning depends on the programming: power/performance/etc) More... | |
void | freezeCounters () |
Freezes event counting. | |
void | unfreezeCounters () |
Unfreezes event counting. | |
uint64 | computeQPISpeed (const uint32 ref_core, const int cpumodel) |
Measures/computes the maximum theoretical QPI link bandwidth speed in GByte/seconds. | |
void | enableJKTWorkaround (bool enable) |
Enable correct counting of various LLC events (with memory access perf penalty) | |
uint32 | getNumQPIPorts () const |
Returns the number of detected QPI ports. | |
uint64 | getQPILinkSpeed (const uint32 linkNr) const |
Returns the speed of the QPI link. | |
void | reportQPISpeed () const |
Print QPI Speeds. | |
uint32 | getNumMC () const |
Returns the number of detected integrated memory controllers. | |
uint32 | getNumMCChannels () const |
Returns the total number of detected memory channels on all integrated memory controllers. | |
Object to access uncore counters in a socket/processor with microarchitecture codename SandyBridge-EP (Jaketown) or Ivytown-EP or Ivytown-EX.
ServerPCICFGUncore::ServerPCICFGUncore | ( | uint32 | socket_, |
PCM * | pcm | ||
) |
Initialize access data structures.
socket_ | socket id |
pcm | pointer to PCM instance |
References PCM::getCPUModel(), and PCM::getNumSockets().
uint64 ServerPCICFGUncore::getDRAMClocks | ( | uint32 | channel | ) |
Get number DRAM channel cycles.
channel | channel number |
Referenced by PCM::getServerUncorePowerState().
uint64 ServerPCICFGUncore::getIncomingDataFlits | ( | uint32 | port | ) |
Get the number of incoming data flits to the socket through a port.
port | QPI port id |
uint64 ServerPCICFGUncore::getMCCounter | ( | uint32 | channel, |
uint32 | counter | ||
) |
Direct read of memory controller PMU counter (counter meaning depends on the programming: power/performance/etc)
channel | channel number |
counter | counter number |
Referenced by PCM::getServerUncorePowerState().
uint64 ServerPCICFGUncore::getOutgoingDataNonDataFlits | ( | uint32 | port | ) |
Get the number of outgoing data and non-data flits from the socket through a port.
port | QPI port id |
References getQPILLCounter().
uint64 ServerPCICFGUncore::getQPIClocks | ( | uint32 | port | ) |
Get number of QPI LL clocks on a QPI port.
port | QPI port number |
Referenced by computeQPISpeed(), and PCM::getServerUncorePowerState().
uint64 ServerPCICFGUncore::getQPIL0pTxCycles | ( | uint32 | port | ) |
Get number cycles on a QPI port when the link was in a power saving half-lane mode.
port | QPI port number |
Referenced by PCM::getServerUncorePowerState().
uint64 ServerPCICFGUncore::getQPIL1Cycles | ( | uint32 | port | ) |
Get number cycles on a QPI port when the link was in a power saving shutdown mode.
port | QPI port number |
Referenced by PCM::getServerUncorePowerState().
uint64 ServerPCICFGUncore::getQPILLCounter | ( | uint32 | port, |
uint32 | counter | ||
) |
Direct read of QPI LL PMU counter (counter meaning depends on the programming: power/performance/etc)
port | port number |
counter | counter number |
Referenced by getOutgoingDataNonDataFlits().
void ServerPCICFGUncore::program_power_metrics | ( | int | mc_profile | ) |
Program power counters (disables programming performance counters)
mc_profile | memory controller measurement profile. See description of profiles in pcm-power.cpp |
Referenced by PCM::programServerUncorePowerMetrics().