|
gem5
v21.1.0.2
|
#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 50 of file AddressProfiler.hh.
| typedef std::unordered_map<Addr, AccessTraceForAddress> gem5::ruby::AddressProfiler::AddressMap |
Definition at line 53 of file AddressProfiler.hh.
| gem5::ruby::AddressProfiler::AddressProfiler | ( | int | num_of_sequencers, |
| Profiler * | profiler | ||
| ) |
Definition at line 157 of file AddressProfiler.cc.
References clearStats(), and m_num_of_sequencers.
| gem5::ruby::AddressProfiler::~AddressProfiler | ( | ) |
Definition at line 164 of file AddressProfiler.cc.
|
private |
| void gem5::ruby::AddressProfiler::addTraceSample | ( | Addr | data_addr, |
| Addr | pc_addr, | ||
| RubyRequestType | type, | ||
| RubyAccessMode | access_mode, | ||
| NodeID | id, | ||
| bool | sharing_miss | ||
| ) |
Definition at line 299 of file AddressProfiler.cc.
References gem5::ruby::lookupTraceForAddress(), m_all_instructions, m_dataAccessTrace, m_macroBlockAccessTrace, m_programCounterAccessTrace, m_sharing_miss_counter, gem5::ruby::makeLineAddress(), and gem5::X86ISA::type.
Referenced by profileGetS(), and profileGetX().
| void gem5::ruby::AddressProfiler::clearStats | ( | ) |
Definition at line 248 of file AddressProfiler.cc.
References gem5::ruby::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 77 of file AddressProfiler.hh.
Referenced by gem5::ruby::Profiler::collateStats().
|
private |
| void gem5::ruby::AddressProfiler::print | ( | std::ostream & | out | ) | const |
Referenced by gem5::ruby::operator<<().
| void gem5::ruby::AddressProfiler::printStats | ( | std::ostream & | out | ) | const |
Definition at line 181 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, gem5::ruby::Histogram::printPercent(), gem5::ruby::printSorted(), and gem5::ruby::Histogram::size().
| void gem5::ruby::AddressProfiler::profileGetS | ( | Addr | datablock, |
| Addr | PC, | ||
| const Set & | owner, | ||
| const Set & | sharers, | ||
| NodeID | requestor | ||
| ) |
Definition at line 282 of file AddressProfiler.cc.
References gem5::ruby::Histogram::add(), gem5::ruby::Set::addSet(), addTraceSample(), gem5::ruby::Set::count(), m_gets_sharing_histogram, and gem5::ruby::Set::remove().
| void gem5::ruby::AddressProfiler::profileGetX | ( | Addr | datablock, |
| Addr | PC, | ||
| const Set & | owner, | ||
| const Set & | sharers, | ||
| NodeID | requestor | ||
| ) |
Definition at line 264 of file AddressProfiler.cc.
References gem5::ruby::Histogram::add(), gem5::ruby::Set::addSet(), addTraceSample(), gem5::ruby::Set::count(), m_getx_sharing_histogram, and gem5::ruby::Set::remove().
| void gem5::ruby::AddressProfiler::profileRetry | ( | Addr | data_addr, |
| AccessType | type, | ||
| int | count | ||
| ) |
Definition at line 336 of file AddressProfiler.cc.
References gem5::ruby::Histogram::add(), gem5::ruby::AccessTraceForAddress::addSample(), gem5::X86ISA::count, gem5::ruby::lookupTraceForAddress(), m_retryProfileHisto, m_retryProfileHistoRead, m_retryProfileHistoWrite, m_retryProfileMap, and gem5::X86ISA::type.
|
inline |
Definition at line 76 of file AddressProfiler.hh.
| void gem5::ruby::AddressProfiler::setAllInstructions | ( | bool | all_instructions | ) |
Definition at line 175 of file AddressProfiler.cc.
References m_all_instructions.
Referenced by gem5::ruby::Profiler::Profiler().
| void gem5::ruby::AddressProfiler::setHotLines | ( | bool | hot_lines | ) |
Definition at line 169 of file AddressProfiler.cc.
References m_hot_lines.
Referenced by gem5::ruby::Profiler::Profiler().
|
private |
Definition at line 100 of file AddressProfiler.hh.
Referenced by addTraceSample(), printStats(), and setAllInstructions().
|
private |
Definition at line 86 of file AddressProfiler.hh.
Referenced by addTraceSample(), clearStats(), and printStats().
|
private |
Definition at line 94 of file AddressProfiler.hh.
Referenced by clearStats(), printStats(), and profileGetS().
|
private |
Definition at line 93 of file AddressProfiler.hh.
Referenced by clearStats(), printStats(), and profileGetX().
|
private |
Definition at line 99 of file AddressProfiler.hh.
Referenced by printStats(), and setHotLines().
|
private |
Definition at line 87 of file AddressProfiler.hh.
Referenced by addTraceSample(), clearStats(), and printStats().
|
private |
Definition at line 102 of file AddressProfiler.hh.
Referenced by AddressProfiler(), and printStats().
|
private |
Definition at line 96 of file AddressProfiler.hh.
Referenced by printStats().
|
private |
Definition at line 88 of file AddressProfiler.hh.
Referenced by addTraceSample(), clearStats(), and printStats().
|
private |
Definition at line 90 of file AddressProfiler.hh.
Referenced by clearStats(), printStats(), and profileRetry().
|
private |
Definition at line 92 of file AddressProfiler.hh.
Referenced by clearStats(), printStats(), and profileRetry().
|
private |
Definition at line 91 of file AddressProfiler.hh.
Referenced by clearStats(), printStats(), and profileRetry().
|
private |
Definition at line 89 of file AddressProfiler.hh.
Referenced by clearStats(), printStats(), and profileRetry().
|
private |
Definition at line 84 of file AddressProfiler.hh.
Referenced by addTraceSample(), clearStats(), and printStats().