gem5
v21.0.0.0
|
#include <Profiler.hh>
Classes | |
struct | ProfilerStats |
Public Member Functions | |
Profiler (const RubySystemParams ¶ms, RubySystem *rs) | |
~Profiler () | |
void | wakeup () |
void | regStats () |
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 |
ProfilerStats | rubyProfilerStats |
Private Member Functions | |
Profiler (const Profiler &obj) | |
Profiler & | operator= (const Profiler &obj) |
Private Attributes | |
AddressProfiler * | m_address_profiler_ptr |
AddressProfiler * | m_inst_profiler_ptr |
const bool | m_hot_lines |
const bool | m_all_instructions |
const uint32_t | m_num_vnets |
Definition at line 65 of file Profiler.hh.
Profiler::Profiler | ( | const RubySystemParams & | params, |
RubySystem * | rs | ||
) |
Definition at line 82 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 559 of file Profiler.cc.
References RubyRequest::getAccessMode(), RubyRequest::getLineAddress(), RubyRequest::getProgramCounter(), RubyRequest::getType(), and m_address_profiler_ptr.
void Profiler::collateStats | ( | ) |
Definition at line 358 of file Profiler.cc.
References Stats::DistBase< Derived, Stor >::add(), AddressProfiler::collateStats(), Profiler::ProfilerStats::delayHistogram, Profiler::ProfilerStats::delayVCHistogram, AbstractController::getCPUSequencer(), AbstractController::getDelayHist(), AbstractController::getDelayVCHist(), GPUCoalescer::getFirstResponseToCompletionDelayHist(), GPUCoalescer::getForwardRequestToFirstResponseHist(), AbstractController::getGPUCoalescer(), Sequencer::getHitLatencyHist(), Sequencer::getHitMachLatencyHist(), Sequencer::getHitTypeLatencyHist(), Sequencer::getHitTypeMachLatencyHist(), Sequencer::getIncompleteTimes(), 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, Profiler::ProfilerStats::PerMachineTypeStats::m_FirstResponseToCompletionDelayHistCoalsr, Profiler::ProfilerStats::PerMachineTypeStats::m_FirstResponseToCompletionDelayHistSeqr, Profiler::ProfilerStats::PerMachineTypeStats::m_ForwardToFirstResponseDelayHistCoalsr, Profiler::ProfilerStats::PerMachineTypeStats::m_ForwardToFirstResponseDelayHistSeqr, Profiler::ProfilerStats::m_hitLatencyHistSeqr, Profiler::ProfilerStats::PerMachineTypeStats::m_hitMachLatencyHistSeqr, Profiler::ProfilerStats::PerRequestTypeStats::m_hitTypeLatencyHistSeqr, Profiler::ProfilerStats::PerRequestTypeMachineTypeStats::m_hitTypeMachLatencyHistSeqr, Profiler::ProfilerStats::PerMachineTypeStats::m_IncompleteTimesSeqr, Profiler::ProfilerStats::PerMachineTypeStats::m_InitialToForwardDelayHistCoalsr, Profiler::ProfilerStats::PerMachineTypeStats::m_InitialToForwardDelayHistSeqr, m_inst_profiler_ptr, Profiler::ProfilerStats::PerMachineTypeStats::m_IssueToInitialDelayHistCoalsr, Profiler::ProfilerStats::PerMachineTypeStats::m_IssueToInitialDelayHistSeqr, Profiler::ProfilerStats::m_latencyHistCoalsr, Profiler::ProfilerStats::m_latencyHistSeqr, Profiler::ProfilerStats::m_missLatencyHistCoalsr, Profiler::ProfilerStats::m_missLatencyHistSeqr, Profiler::ProfilerStats::PerMachineTypeStats::m_missMachLatencyHistCoalsr, Profiler::ProfilerStats::PerMachineTypeStats::m_missMachLatencyHistSeqr, Profiler::ProfilerStats::PerRequestTypeStats::m_missTypeLatencyHistCoalsr, Profiler::ProfilerStats::PerRequestTypeStats::m_missTypeLatencyHistSeqr, Profiler::ProfilerStats::PerRequestTypeMachineTypeStats::m_missTypeMachLatencyHistCoalsr, Profiler::ProfilerStats::PerRequestTypeMachineTypeStats::m_missTypeMachLatencyHistSeqr, m_num_vnets, Profiler::ProfilerStats::m_outstandReqHistCoalsr, Profiler::ProfilerStats::m_outstandReqHistSeqr, m_ruby_system, Profiler::ProfilerStats::PerRequestTypeStats::m_typeLatencyHistCoalsr, Profiler::ProfilerStats::PerRequestTypeStats::m_typeLatencyHistSeqr, Profiler::ProfilerStats::perMachineTypeStats, Profiler::ProfilerStats::perRequestTypeMachineTypeStats, Profiler::ProfilerStats::perRequestTypeStats, and rubyProfilerStats.
Referenced by RubySystem::collateStats().
|
inline |
Definition at line 77 of file Profiler.hh.
References m_address_profiler_ptr.
|
inline |
Definition at line 84 of file Profiler.hh.
References m_all_instructions.
Referenced by printSorted().
|
inline |
Definition at line 83 of file Profiler.hh.
References m_hot_lines.
|
inline |
Definition at line 78 of file Profiler.hh.
References m_inst_profiler_ptr.
void Profiler::regStats | ( | ) |
void Profiler::wakeup | ( | ) |
|
private |
Definition at line 91 of file Profiler.hh.
Referenced by addAddressTraceSample(), collateStats(), getAddressProfiler(), and Profiler().
|
private |
Definition at line 185 of file Profiler.hh.
Referenced by collateStats(), getAllInstructions(), and Profiler().
|
private |
Definition at line 184 of file Profiler.hh.
Referenced by getHotLines(), and Profiler().
|
private |
Definition at line 92 of file Profiler.hh.
Referenced by collateStats(), getInstructionProfiler(), and Profiler().
|
private |
Definition at line 186 of file Profiler.hh.
Referenced by collateStats(), and Profiler::ProfilerStats::ProfilerStats().
RubySystem* Profiler::m_ruby_system |
Definition at line 71 of file Profiler.hh.
Referenced by collateStats().
ProfilerStats Profiler::rubyProfilerStats |
Definition at line 190 of file Profiler.hh.
Referenced by collateStats().