mem-garnet,mem-ruby: Properly reset garnet2.0 statistics.
authorPolydoros Petrakis <ppetrak@ics.forth.gr>
Tue, 19 May 2020 22:56:07 +0000 (01:56 +0300)
committerPolydoros Petrakis <ppetrak@ics.forth.gr>
Thu, 21 May 2020 20:56:25 +0000 (20:56 +0000)
Statistics for crossbar activity, and link related statistics were not getting reset when using m5_reset_stats.

Change-Id: Ib84c55200e4a86c6f9190de28498112bd43dde9d
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/29253
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Reviewed-by: Srikant Bharadwaj <srikant.bharadwaj@amd.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/mem/ruby/network/garnet2.0/GarnetNetwork.cc
src/mem/ruby/network/garnet2.0/GarnetNetwork.hh
src/mem/ruby/system/RubySystem.cc

index 1eff92175945ce4e6b4eb39d7e4da7928b364cac..8f226b1de2ec506b22051c6eac8f32b6e61b997a 100644 (file)
@@ -414,6 +414,20 @@ GarnetNetwork::collateStats()
     }
 }
 
+void
+GarnetNetwork::resetStats()
+{
+    for (int i = 0; i < m_routers.size(); i++) {
+        m_routers[i]->resetStats();
+    }
+    for (int i = 0; i < m_networklinks.size(); i++) {
+        m_networklinks[i]->resetStats();
+    }
+    for (int i = 0; i < m_creditlinks.size(); i++) {
+        m_creditlinks[i]->resetStats();
+    }
+}
+
 void
 GarnetNetwork::print(ostream& out) const
 {
index 9acbeef4e3f36b1a64443860f7425df53e5040e9..3821dd8b815688bc21d3e73e55e1bde6fe0a3ddc 100644 (file)
@@ -101,6 +101,7 @@ class GarnetNetwork : public Network
     // Stats
     void collateStats();
     void regStats();
+    void resetStats();
     void print(std::ostream& out) const;
 
     // increment counters
index 57d49667e7da11777e43b1eedcd6e31c39f0d7a3..2aeff8caebd11cae5f36a148ac533361b7c8e4f1 100644 (file)
@@ -407,6 +407,7 @@ void
 RubySystem::resetStats()
 {
     m_start_cycle = curCycle();
+    m_network->resetStats();
 }
 
 bool