summaryrefslogtreecommitdiff
path: root/src/mem/ruby/network/garnet/BaseGarnetNetwork.hh
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2013-09-06 16:21:35 -0500
committerNilay Vaish <nilay@cs.wisc.edu>2013-09-06 16:21:35 -0500
commit90bfbd9793e64b29d09f4ca4ee610ee08f82ea75 (patch)
treee14b49f9632b25cde8a32b5e5787a36a376e6dff /src/mem/ruby/network/garnet/BaseGarnetNetwork.hh
parente9ae8b7d29e83fa2cad55006d2c6dc58115965cc (diff)
downloadgem5-90bfbd9793e64b29d09f4ca4ee610ee08f82ea75.tar.xz
ruby: network: convert to gem5 style stats
Diffstat (limited to 'src/mem/ruby/network/garnet/BaseGarnetNetwork.hh')
-rw-r--r--src/mem/ruby/network/garnet/BaseGarnetNetwork.hh24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/mem/ruby/network/garnet/BaseGarnetNetwork.hh b/src/mem/ruby/network/garnet/BaseGarnetNetwork.hh
index b9f86df59..57d4cc581 100644
--- a/src/mem/ruby/network/garnet/BaseGarnetNetwork.hh
+++ b/src/mem/ruby/network/garnet/BaseGarnetNetwork.hh
@@ -80,27 +80,31 @@ class BaseGarnetNetwork : public Network
virtual void checkNetworkAllocation(NodeID id, bool ordered,
int network_num, std::string vnet_type) = 0;
- void clearStats();
- void printStats(std::ostream& out) const;
- void printPerformanceStats(std::ostream& out) const;
- virtual void printLinkStats(std::ostream& out) const = 0;
- virtual void printPowerStats(std::ostream& out) const = 0;
+ virtual void regStats();
+ virtual void collateStats() {}
protected:
int m_ni_flit_size;
int m_vcs_per_vnet;
bool m_enable_fault_model;
- std::vector<int> m_flits_received;
- std::vector<int> m_flits_injected;
- std::vector<double> m_network_latency;
- std::vector<double> m_queueing_latency;
-
std::vector<bool> m_in_use;
std::vector<bool> m_ordered;
std::vector<std::vector<MessageBuffer*> > m_toNetQueues;
std::vector<std::vector<MessageBuffer*> > m_fromNetQueues;
+
+ // Statistical variables
+ Stats::Vector m_flits_received;
+ Stats::Vector m_flits_injected;
+ Stats::Vector m_network_latency;
+ Stats::Vector m_queueing_latency;
+
+ Stats::Formula m_avg_vnet_latency;
+ Stats::Formula m_avg_vqueue_latency;
+ Stats::Formula m_avg_network_latency;
+ Stats::Formula m_avg_queueing_latency;
+ Stats::Formula m_avg_latency;
};
#endif // __MEM_RUBY_NETWORK_GARNET_BASEGARNETNETWORK_HH__