Intel(r) Performance Counter Monitor
Public Member Functions | List of all members
ServerPCICFGUncore Class Reference

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.
 

Detailed Description

Object to access uncore counters in a socket/processor with microarchitecture codename SandyBridge-EP (Jaketown) or Ivytown-EP or Ivytown-EX.

Constructor & Destructor Documentation

ServerPCICFGUncore::ServerPCICFGUncore ( uint32  socket_,
PCM pcm 
)

Initialize access data structures.

Parameters
socket_socket id
pcmpointer to PCM instance

References PCM::getCPUModel(), and PCM::getNumSockets().

Member Function Documentation

uint64 ServerPCICFGUncore::getDRAMClocks ( uint32  channel)

Get number DRAM channel cycles.

Parameters
channelchannel number

Referenced by PCM::getServerUncorePowerState().

uint64 ServerPCICFGUncore::getIncomingDataFlits ( uint32  port)

Get the number of incoming data flits to the socket through a port.

Parameters
portQPI 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)

Parameters
channelchannel number
countercounter 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.

Parameters
portQPI port id

References getQPILLCounter().

uint64 ServerPCICFGUncore::getQPIClocks ( uint32  port)

Get number of QPI LL clocks on a QPI port.

Parameters
portQPI 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.

Parameters
portQPI 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.

Parameters
portQPI 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)

Parameters
portport number
countercounter number

Referenced by getOutgoingDataNonDataFlits().

void ServerPCICFGUncore::program_power_metrics ( int  mc_profile)

Program power counters (disables programming performance counters)

Parameters
mc_profilememory controller measurement profile. See description of profiles in pcm-power.cpp

Referenced by PCM::programServerUncorePowerMetrics().


The documentation for this class was generated from the following files: