gem5
v20.1.0.0
|
#include <Profiler.hh>
Public Member Functions | |
Profiler (const RubySystemParams *params, RubySystem *rs) | |
~Profiler () | |
void | wakeup () |
void | regStats (const std::string &name) |
void | collateStats () |
AddressProfiler * | getAddressProfiler () |
AddressProfiler * | getInstructionProfiler () |
void | addAddressTraceSample (const RubyRequest &msg, NodeID id) |
bool | getHotLines () const |
bool | getAllInstructions () const |
Public Attributes | |
RubySystem * | m_ruby_system |
Private Member Functions | |
Profiler (const Profiler &obj) | |
Profiler & | operator= (const Profiler &obj) |
Definition at line 64 of file Profiler.hh.
Profiler::Profiler | ( | const RubySystemParams * | params, |
RubySystem * | rs | ||
) |
Definition at line 83 of file Profiler.cc.
References m_address_profiler_ptr, m_all_instructions, m_hot_lines, m_inst_profiler_ptr, MipsISA::p, AddressProfiler::setAllInstructions(), and AddressProfiler::setHotLines().
Profiler::~Profiler | ( | ) |
Definition at line 99 of file Profiler.cc.
|
private |
void Profiler::addAddressTraceSample | ( | const RubyRequest & | msg, |
NodeID | id | ||
) |
Definition at line 493 of file Profiler.cc.
References RubyRequest::getAccessMode(), RubyRequest::getLineAddress(), RubyRequest::getProgramCounter(), RubyRequest::getType(), and m_address_profiler_ptr.
void Profiler::collateStats | ( | ) |
Definition at line 348 of file Profiler.cc.
References Stats::DistBase< Derived, Stor >::add(), AddressProfiler::collateStats(), delayHistogram, delayVCHistogram, AbstractController::getCPUSequencer(), AbstractController::getDelayHist(), AbstractController::getDelayVCHist(), AbstractController::getGPUCoalescer(), Sequencer::getHitLatencyHist(), Sequencer::getHitMachLatencyHist(), Sequencer::getHitTypeLatencyHist(), Sequencer::getHitTypeMachLatencyHist(), Sequencer::getIncompleteTimes(), Sequencer::getInitialToForwardDelayHist(), GPUCoalescer::getInitialToForwardDelayHist(), Sequencer::getIssueToInitialDelayHist(), GPUCoalescer::getIssueToInitialDelayHist(), Sequencer::getLatencyHist(), GPUCoalescer::getLatencyHist(), Sequencer::getMissLatencyHist(), GPUCoalescer::getMissLatencyHist(), Sequencer::getMissMachLatencyHist(), GPUCoalescer::getMissMachLatencyHist(), Sequencer::getMissTypeLatencyHist(), GPUCoalescer::getMissTypeLatencyHist(), Sequencer::getMissTypeMachLatencyHist(), GPUCoalescer::getMissTypeMachLatencyHist(), Sequencer::getOutstandReqHist(), GPUCoalescer::getOutstandReqHist(), Sequencer::getTypeLatencyHist(), GPUCoalescer::getTypeLatencyHist(), ArmISA::i, ArmISA::j, MipsISA::k, RubySystem::m_abstract_controls, m_address_profiler_ptr, m_all_instructions, m_FirstResponseToCompletionDelayHistCoalsr, m_FirstResponseToCompletionDelayHistSeqr, m_ForwardToFirstResponseDelayHistCoalsr, m_ForwardToFirstResponseDelayHistSeqr, m_hitLatencyHistSeqr, m_hitMachLatencyHistSeqr, m_hitTypeLatencyHistSeqr, m_hitTypeMachLatencyHistSeqr, m_IncompleteTimesSeqr, m_InitialToForwardDelayHistCoalsr, m_InitialToForwardDelayHistSeqr, m_inst_profiler_ptr, m_IssueToInitialDelayHistCoalsr, m_IssueToInitialDelayHistSeqr, m_latencyHistCoalsr, m_latencyHistSeqr, m_missLatencyHistCoalsr, m_missLatencyHistSeqr, m_missMachLatencyHistCoalsr, m_missMachLatencyHistSeqr, m_missTypeLatencyHistCoalsr, m_missTypeLatencyHistSeqr, m_missTypeMachLatencyHistCoalsr, m_missTypeMachLatencyHistSeqr, m_num_vnets, m_outstandReqHistCoalsr, m_outstandReqHistSeqr, m_ruby_system, m_typeLatencyHistCoalsr, and m_typeLatencyHistSeqr.
Referenced by RubySystem::collateStats().
|
inline |
Definition at line 76 of file Profiler.hh.
References m_address_profiler_ptr.
|
inline |
Definition at line 83 of file Profiler.hh.
References m_all_instructions.
Referenced by printSorted().
|
inline |
Definition at line 82 of file Profiler.hh.
References m_hot_lines.
|
inline |
Definition at line 77 of file Profiler.hh.
References m_inst_profiler_ptr.
void Profiler::regStats | ( | const std::string & | name | ) |
Definition at line 104 of file Profiler.cc.
References csprintf(), delayHistogram, delayVCHistogram, Stats::DataWrap< Derived, InfoProxyType >::desc(), Stats::DataWrap< Derived, InfoProxyType >::flags(), ArmISA::i, Stats::Histogram::init(), ArmISA::j, m_address_profiler_ptr, m_all_instructions, m_FirstResponseToCompletionDelayHistCoalsr, m_FirstResponseToCompletionDelayHistSeqr, m_ForwardToFirstResponseDelayHistCoalsr, m_ForwardToFirstResponseDelayHistSeqr, m_hitLatencyHistSeqr, m_hitMachLatencyHistSeqr, m_hitTypeLatencyHistSeqr, m_hitTypeMachLatencyHistSeqr, m_IncompleteTimesSeqr, m_InitialToForwardDelayHistCoalsr, m_InitialToForwardDelayHistSeqr, m_inst_profiler_ptr, m_IssueToInitialDelayHistCoalsr, m_IssueToInitialDelayHistSeqr, m_latencyHistCoalsr, m_latencyHistSeqr, m_missLatencyHistCoalsr, m_missLatencyHistSeqr, m_missMachLatencyHistCoalsr, m_missMachLatencyHistSeqr, m_missTypeLatencyHistCoalsr, m_missTypeLatencyHistSeqr, m_missTypeMachLatencyHistCoalsr, m_missTypeMachLatencyHistSeqr, m_num_vnets, m_outstandReqHistCoalsr, m_outstandReqHistSeqr, m_typeLatencyHistCoalsr, m_typeLatencyHistSeqr, Stats::DataWrap< Derived, InfoProxyType >::name(), Stats::nozero, Stats::oneline, Stats::pdf, and AddressProfiler::regStats().
Referenced by RubySystem::regStats().
void Profiler::wakeup | ( | ) |
|
private |
Definition at line 93 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Definition at line 94 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Definition at line 90 of file Profiler.hh.
Referenced by addAddressTraceSample(), collateStats(), getAddressProfiler(), Profiler(), and regStats().
|
private |
Definition at line 143 of file Profiler.hh.
Referenced by collateStats(), getAllInstructions(), Profiler(), and regStats().
|
private |
Definition at line 139 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Definition at line 134 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Definition at line 138 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Definition at line 133 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Histogram for holding latency profile of all requests that hit in the controller connected to this sequencer.
Definition at line 108 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Histograms for profiling the latencies for requests that did not required external messages.
Definition at line 113 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Definition at line 109 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Definition at line 114 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Definition at line 142 of file Profiler.hh.
Referenced by getHotLines(), and Profiler().
|
private |
Definition at line 135 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Definition at line 137 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Definition at line 132 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Definition at line 91 of file Profiler.hh.
Referenced by collateStats(), getInstructionProfiler(), Profiler(), and regStats().
|
private |
Definition at line 136 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Histograms for recording the breakdown of miss latency.
Definition at line 131 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Definition at line 102 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Histogram for holding latency profile of all requests.
Definition at line 101 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Definition at line 119 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Histogram for holding latency profile of all requests that miss in the controller connected to this sequencer.
Definition at line 118 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Definition at line 127 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Histograms for profiling the latencies for requests that required external messages.
Definition at line 125 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Definition at line 121 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Definition at line 120 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Definition at line 128 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Definition at line 126 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Definition at line 144 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Definition at line 98 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Histogram for number of outstanding requests per cycle.
Definition at line 97 of file Profiler.hh.
Referenced by collateStats(), and regStats().
RubySystem* Profiler::m_ruby_system |
Definition at line 70 of file Profiler.hh.
Referenced by collateStats().
|
private |
Definition at line 104 of file Profiler.hh.
Referenced by collateStats(), and regStats().
|
private |
Definition at line 103 of file Profiler.hh.
Referenced by collateStats(), and regStats().