Javier Cano-Cano has submitted this change and it was merged. (
https://gem5-review.googlesource.com/3700 )
Change subject: mem-garnet: Fix garnet stats
......................................................................
mem-garnet: Fix garnet stats
This patch fix some statistics that in presence of a resetStats
instruction were not reseted. This bug makes impossible to obtain
reliable network statistics when the simulation doesn't start from tick
zero.
Change-Id: Ibec45f08d95bf0a533d94b70ec960719206ae945
Maintainer: Tushar Krishna <[email protected]>
Reviewed-on: https://gem5-review.googlesource.com/3700
Reviewed-by: Jieming Yin <[email protected]>
Reviewed-by: Jason Lowe-Power <[email protected]>
Maintainer: Jason Lowe-Power <[email protected]>
---
M src/mem/ruby/network/garnet2.0/CrossbarSwitch.cc
M src/mem/ruby/network/garnet2.0/CrossbarSwitch.hh
M src/mem/ruby/network/garnet2.0/NetworkLink.cc
M src/mem/ruby/network/garnet2.0/NetworkLink.hh
M src/mem/ruby/network/garnet2.0/Router.cc
M src/mem/ruby/network/garnet2.0/SwitchAllocator.cc
M src/mem/ruby/network/garnet2.0/SwitchAllocator.hh
7 files changed, 30 insertions(+), 0 deletions(-)
Approvals:
Jason Lowe-Power: Looks good to me, approved; Looks good to me, approved
Jieming Yin: Looks good to me, approved
diff --git a/src/mem/ruby/network/garnet2.0/CrossbarSwitch.cc
b/src/mem/ruby/network/garnet2.0/CrossbarSwitch.cc
index 340f56d..fbaf25b 100644
--- a/src/mem/ruby/network/garnet2.0/CrossbarSwitch.cc
+++ b/src/mem/ruby/network/garnet2.0/CrossbarSwitch.cc
@@ -110,3 +110,9 @@
return num_functional_writes;
}
+
+void
+CrossbarSwitch::resetStats()
+{
+ m_crossbar_activity = 0;
+}
\ No newline at end of file
diff --git a/src/mem/ruby/network/garnet2.0/CrossbarSwitch.hh
b/src/mem/ruby/network/garnet2.0/CrossbarSwitch.hh
index 7aaeabf..bca3a92 100644
--- a/src/mem/ruby/network/garnet2.0/CrossbarSwitch.hh
+++ b/src/mem/ruby/network/garnet2.0/CrossbarSwitch.hh
@@ -59,6 +59,7 @@
inline double get_crossbar_activity() { return m_crossbar_activity; }
uint32_t functionalWrite(Packet *pkt);
+ void resetStats();
private:
int m_num_vcs;
diff --git a/src/mem/ruby/network/garnet2.0/NetworkLink.cc
b/src/mem/ruby/network/garnet2.0/NetworkLink.cc
index 6010071..e718fb8 100644
--- a/src/mem/ruby/network/garnet2.0/NetworkLink.cc
+++ b/src/mem/ruby/network/garnet2.0/NetworkLink.cc
@@ -75,6 +75,16 @@
}
}
+void
+NetworkLink::resetStats()
+{
+ for (int i = 0; i < m_vc_load.size(); i++) {
+ m_vc_load[i] = 0;
+ }
+
+ m_link_utilized = 0;
+}
+
NetworkLink *
NetworkLinkParams::create()
{
diff --git a/src/mem/ruby/network/garnet2.0/NetworkLink.hh
b/src/mem/ruby/network/garnet2.0/NetworkLink.hh
index cb69b39..10399ec 100644
--- a/src/mem/ruby/network/garnet2.0/NetworkLink.hh
+++ b/src/mem/ruby/network/garnet2.0/NetworkLink.hh
@@ -70,6 +70,7 @@
inline flit* consumeLink() { return linkBuffer->getTopFlit(); }
uint32_t functionalWrite(Packet *);
+ void resetStats();
private:
const int m_id;
diff --git a/src/mem/ruby/network/garnet2.0/Router.cc
b/src/mem/ruby/network/garnet2.0/Router.cc
index 65a7300..7266f99 100644
--- a/src/mem/ruby/network/garnet2.0/Router.cc
+++ b/src/mem/ruby/network/garnet2.0/Router.cc
@@ -241,6 +241,9 @@
m_input_unit[i]->resetStats();
}
}
+
+ m_switch->resetStats();
+ m_sw_alloc->resetStats();
}
void
diff --git a/src/mem/ruby/network/garnet2.0/SwitchAllocator.cc
b/src/mem/ruby/network/garnet2.0/SwitchAllocator.cc
index 4619b0b..836f071 100644
--- a/src/mem/ruby/network/garnet2.0/SwitchAllocator.cc
+++ b/src/mem/ruby/network/garnet2.0/SwitchAllocator.cc
@@ -387,3 +387,10 @@
}
}
}
+
+void
+SwitchAllocator::resetStats()
+{
+ m_input_arbiter_activity = 0;
+ m_output_arbiter_activity = 0;
+}
\ No newline at end of file
diff --git a/src/mem/ruby/network/garnet2.0/SwitchAllocator.hh
b/src/mem/ruby/network/garnet2.0/SwitchAllocator.hh
index 162264e..7515b73 100644
--- a/src/mem/ruby/network/garnet2.0/SwitchAllocator.hh
+++ b/src/mem/ruby/network/garnet2.0/SwitchAllocator.hh
@@ -70,6 +70,8 @@
return m_output_arbiter_activity;
}
+ void resetStats();
+
private:
int m_num_inports, m_num_outports;
int m_num_vcs, m_vc_per_vnet;
--
To view, visit https://gem5-review.googlesource.com/3700
To unsubscribe, visit https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ibec45f08d95bf0a533d94b70ec960719206ae945
Gerrit-Change-Number: 3700
Gerrit-PatchSet: 3
Gerrit-Owner: Javier Cano-Cano <[email protected]>
Gerrit-Reviewer: Jason Lowe-Power <[email protected]>
Gerrit-Reviewer: Javier Cano-Cano <[email protected]>
Gerrit-Reviewer: Jieming Yin <[email protected]>
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev