|
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().
1.8.7