gem5
|
#include <AddressProfiler.hh>
Public Types | |
typedef std::unordered_map < Addr, AccessTraceForAddress > | AddressMap |
Public Member Functions | |
AddressProfiler (int num_of_sequencers, Profiler *profiler) | |
~AddressProfiler () | |
void | printStats (std::ostream &out) const |
void | clearStats () |
void | addTraceSample (Addr data_addr, Addr pc_addr, RubyRequestType type, RubyAccessMode access_mode, NodeID id, bool sharing_miss) |
void | profileRetry (Addr data_addr, AccessType type, int count) |
void | profileGetX (Addr datablock, Addr PC, const Set &owner, const Set &sharers, NodeID requestor) |
void | profileGetS (Addr datablock, Addr PC, const Set &owner, const Set &sharers, NodeID requestor) |
void | print (std::ostream &out) const |
void | setHotLines (bool hot_lines) |
void | setAllInstructions (bool all_instructions) |
void | regStats (const std::string &name) |
void | collateStats () |
Private Member Functions | |
AddressProfiler (const AddressProfiler &obj) | |
AddressProfiler & | operator= (const AddressProfiler &obj) |
Definition at line 44 of file AddressProfiler.hh.
typedef std::unordered_map<Addr, AccessTraceForAddress> AddressProfiler::AddressMap |
Definition at line 47 of file AddressProfiler.hh.
AddressProfiler::AddressProfiler | ( | int | num_of_sequencers, |
Profiler * | profiler | ||
) |
Definition at line 146 of file AddressProfiler.cc.
References clearStats(), and m_num_of_sequencers.
AddressProfiler::~AddressProfiler | ( | ) |
Definition at line 153 of file AddressProfiler.cc.
|
private |
void AddressProfiler::addTraceSample | ( | Addr | data_addr, |
Addr | pc_addr, | ||
RubyRequestType | type, | ||
RubyAccessMode | access_mode, | ||
NodeID | id, | ||
bool | sharing_miss | ||
) |
Definition at line 283 of file AddressProfiler.cc.
References lookupTraceForAddress(), m_all_instructions, m_dataAccessTrace, m_macroBlockAccessTrace, m_programCounterAccessTrace, m_sharing_miss_counter, makeLineAddress(), and maskLowOrderBits().
Referenced by profileGetS(), and profileGetX().
void AddressProfiler::clearStats | ( | ) |
Definition at line 232 of file AddressProfiler.cc.
References Histogram::clear(), m_dataAccessTrace, m_gets_sharing_histogram, m_getx_sharing_histogram, m_macroBlockAccessTrace, m_programCounterAccessTrace, m_retryProfileHisto, m_retryProfileHistoRead, m_retryProfileHistoWrite, m_retryProfileMap, and m_sharing_miss_counter.
Referenced by AddressProfiler().
|
inline |
Definition at line 71 of file AddressProfiler.hh.
Referenced by Profiler::collateStats().
|
private |
void AddressProfiler::print | ( | std::ostream & | out | ) | const |
Referenced by operator<<().
void AddressProfiler::printStats | ( | std::ostream & | out | ) | const |
Definition at line 170 of file AddressProfiler.cc.
References m_all_instructions, m_dataAccessTrace, m_gets_sharing_histogram, m_getx_sharing_histogram, m_hot_lines, m_macroBlockAccessTrace, m_num_of_sequencers, m_profiler, m_programCounterAccessTrace, m_retryProfileHisto, m_retryProfileHistoRead, m_retryProfileHistoWrite, m_retryProfileMap, m_sharing_miss_counter, Histogram::printPercent(), printSorted(), and Histogram::size().
void AddressProfiler::profileGetS | ( | Addr | datablock, |
Addr | PC, | ||
const Set & | owner, | ||
const Set & | sharers, | ||
NodeID | requestor | ||
) |
Definition at line 266 of file AddressProfiler.cc.
References Histogram::add(), Set::addSet(), addTraceSample(), Set::count(), m_gets_sharing_histogram, and Set::remove().
void AddressProfiler::profileGetX | ( | Addr | datablock, |
Addr | PC, | ||
const Set & | owner, | ||
const Set & | sharers, | ||
NodeID | requestor | ||
) |
Definition at line 248 of file AddressProfiler.cc.
References Histogram::add(), Set::addSet(), addTraceSample(), Set::count(), m_getx_sharing_histogram, and Set::remove().
void AddressProfiler::profileRetry | ( | Addr | data_addr, |
AccessType | type, | ||
int | count | ||
) |
Definition at line 320 of file AddressProfiler.cc.
References Histogram::add(), AccessTraceForAddress::addSample(), lookupTraceForAddress(), m_retryProfileHisto, m_retryProfileHistoRead, m_retryProfileHistoWrite, and m_retryProfileMap.
|
inline |
Definition at line 70 of file AddressProfiler.hh.
Referenced by Profiler::regStats().
void AddressProfiler::setAllInstructions | ( | bool | all_instructions | ) |
Definition at line 164 of file AddressProfiler.cc.
References m_all_instructions.
Referenced by Profiler::Profiler().
void AddressProfiler::setHotLines | ( | bool | hot_lines | ) |
Definition at line 158 of file AddressProfiler.cc.
References m_hot_lines.
Referenced by Profiler::Profiler().
|
private |
Definition at line 94 of file AddressProfiler.hh.
Referenced by addTraceSample(), printStats(), and setAllInstructions().
|
private |
Definition at line 80 of file AddressProfiler.hh.
Referenced by addTraceSample(), clearStats(), and printStats().
|
private |
Definition at line 88 of file AddressProfiler.hh.
Referenced by clearStats(), printStats(), and profileGetS().
|
private |
Definition at line 87 of file AddressProfiler.hh.
Referenced by clearStats(), printStats(), and profileGetX().
|
private |
Definition at line 93 of file AddressProfiler.hh.
Referenced by printStats(), and setHotLines().
|
private |
Definition at line 81 of file AddressProfiler.hh.
Referenced by addTraceSample(), clearStats(), and printStats().
|
private |
Definition at line 96 of file AddressProfiler.hh.
Referenced by AddressProfiler(), and printStats().
|
private |
Definition at line 90 of file AddressProfiler.hh.
Referenced by printStats().
|
private |
Definition at line 82 of file AddressProfiler.hh.
Referenced by addTraceSample(), clearStats(), and printStats().
|
private |
Definition at line 84 of file AddressProfiler.hh.
Referenced by clearStats(), printStats(), and profileRetry().
|
private |
Definition at line 86 of file AddressProfiler.hh.
Referenced by clearStats(), printStats(), and profileRetry().
|
private |
Definition at line 85 of file AddressProfiler.hh.
Referenced by clearStats(), printStats(), and profileRetry().
|
private |
Definition at line 83 of file AddressProfiler.hh.
Referenced by clearStats(), printStats(), and profileRetry().
|
private |
Definition at line 78 of file AddressProfiler.hh.
Referenced by addTraceSample(), clearStats(), and printStats().