void profile_miss(RubyRequest msg);
// used by CMP protocols
-void profile_request(std::string L1CacheStateStr, std::string L2CacheStateStr,
- std::string directoryStateStr, std::string requestTypeStr);
void profileMessageReordering(bool wasReordered);
void profileMessageReorderingByNetwork(int vnet, bool wasReordered);
void profile_token_retry(Address addr, AccessType type, int count);
void profile_persistent_prediction(Address addr, AccessType type);
void profile_filter_action(int act);
-void profile_multicast_retry(Address addr, int count);
-void profile_outstanding_request(int outstanding);
-void profile_outstanding_persistent_request(int outstanding);
// void profile_overlapping_persistent_request(int overlapping);
void profile_average_latency_estimate(int latency);
out << endl;
}
- if (m_outstanding_requests.size() > 0) {
- out << "outstanding_requests: ";
- m_outstanding_requests.printPercent(out);
- out << endl;
- out << endl;
- }
- }
-
- if (!short_stats) {
printRequestProfile(out);
out << "filter_action: " << m_filter_action_histogram << endl;
m_cache_to_cache = 0;
m_memory_to_cache = 0;
- m_outstanding_requests.clear();
- m_outstanding_persistent_requests.clear();
-
- // Flush the prefetches through the system - used so that there
- // are no outstanding requests after stats are cleared
- //g_eventQueue_ptr->triggerAllEvents();
-
// update the start time
m_ruby_start = g_system_ptr->curCycle();
}
void profileConflictingRequests(const Address& addr);
- void
- profileOutstandingRequest(int outstanding)
- {
- m_outstanding_requests.add(outstanding);
- }
-
- void
- profileOutstandingPersistentRequest(int outstanding)
- {
- m_outstanding_persistent_requests.add(outstanding);
- }
-
void
profileAverageLatencyEstimate(int latency)
{
std::vector<Histogram> m_SWPrefetchLatencyHistograms;
std::vector<Histogram> m_SWPrefetchMachLatencyHistograms;
- Histogram m_outstanding_requests;
- Histogram m_outstanding_persistent_requests;
-
Histogram m_average_latency_estimate;
-
m5::hash_set<Address> m_watch_address_set;
//added by SS
using namespace std;
-void
-profile_outstanding_request(int outstanding)
-{
- g_system_ptr->getProfiler()->profileOutstandingRequest(outstanding);
-}
-
void
profile_average_latency_estimate(int latency)
{
class Set;
-void profile_outstanding_persistent_request(int outstanding);
-void profile_outstanding_request(int outstanding);
void profile_sharing(const Address& addr, AccessType type, NodeID requestor,
const Set& sharers, const Set& owner);
void profile_miss(const RubyRequest& msg, NodeID id);
void profile_persistent_prediction(const Address& addr, AccessType type);
void profile_average_latency_estimate(int latency);
-void profile_multicast_retry(const Address& addr, int count);
void profileGetX(const Address& datablock, const Address& PC, const Set& owner,
const Set& sharers, NodeID requestor);
void profileGetS(const Address& datablock, const Address& PC, const Set& owner,
const Set& sharers, NodeID requestor);
-void profileOverflow(const Address & addr, MachineID mach);
-
#endif // __MEM_RUBY_SLICC_INTERFACE_RUBYSLICC_PROFILER_INTERFACE_HH__