Marjan Fariborz has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/36315 )
Change subject: mem-ruby,stats: Update stats for SimpleNetwork
......................................................................
mem-ruby,stats: Update stats for SimpleNetwork
Updating the statistics for SimpleNetwork to new style stats.
Change-Id: I06b03edccf22dbd85f70ad30c03e0c76580fdbf9
---
M src/mem/ruby/network/simple/SimpleNetwork.cc
M src/mem/ruby/network/simple/SimpleNetwork.hh
2 files changed, 36 insertions(+), 25 deletions(-)
diff --git a/src/mem/ruby/network/simple/SimpleNetwork.cc
b/src/mem/ruby/network/simple/SimpleNetwork.cc
index 86d0432..dcde5f6 100644
--- a/src/mem/ruby/network/simple/SimpleNetwork.cc
+++ b/src/mem/ruby/network/simple/SimpleNetwork.cc
@@ -54,10 +54,10 @@
using namespace std;
-SimpleNetwork::SimpleNetwork(const Params &p)
- : Network(p), m_buffer_size(p.buffer_size),
- m_endpoint_bandwidth(p.endpoint_bandwidth),
- m_adaptive_routing(p.adaptive_routing)
+SimpleNetwork::SimpleNetwork(const Params *p)
+ : Network(p), m_buffer_size(p->buffer_size),
+ m_endpoint_bandwidth(p->endpoint_bandwidth),
+ m_adaptive_routing(p->adaptive_routing), simpNetStats(this)
{
// record the routers
for (vector<BasicRouter*>::const_iterator i = p.routers.begin();
@@ -136,32 +136,40 @@
simple_link->m_latency,
simple_link->m_bw_multiplier);
}
+SimpleNetwork::SimpleNetworkStats::SimpleNetworkStats(
+ SimpleNetwork *parent) : Stats::Group(parent)
+{
+ for (MessageSizeType type = MessageSizeType_FIRST;
+ type < MessageSizeType_NUM; ++type) {
+ msg_counts[(unsigned int) type]
+ .name(parent->name() + ".msg_count." +
+ MessageSizeType_to_string(type))
+ .flags(Stats::nozero);
+
+ msg_bytes[(unsigned int) type]
+ .name(parent->name() + ".msg_byte." +
+ MessageSizeType_to_string(type))
+ .flags(Stats::nozero);
+ ;
+ }
+}
void
SimpleNetwork::regStats()
{
Network::regStats();
-
+ using namespace Stats;
for (MessageSizeType type = MessageSizeType_FIRST;
- type < MessageSizeType_NUM; ++type) {
- m_msg_counts[(unsigned int) type]
- .name(name() + ".msg_count." + MessageSizeType_to_string(type))
- .flags(Stats::nozero)
- ;
- m_msg_bytes[(unsigned int) type]
- .name(name() + ".msg_byte." + MessageSizeType_to_string(type))
- .flags(Stats::nozero)
- ;
+ type < MessageSizeType_NUM; ++type) {
- // Now state what the formula is.
+ // Now state what the formula is.
for (int i = 0; i < m_switches.size(); i++) {
- m_msg_counts[(unsigned int) type] +=
+ simpNetStats.msg_counts[(unsigned int) type] +=
sum(m_switches[i]->getMsgCount(type));
}
-
- m_msg_bytes[(unsigned int) type] =
- m_msg_counts[(unsigned int) type] * Stats::constant(
- Network::MessageSizeType_to_int(type));
+ simpNetStats.msg_bytes[(unsigned int) type] =
+ simpNetStats.msg_counts[(unsigned int) type] *
+ Stats::constant(Network::MessageSizeType_to_int(type));
}
}
diff --git a/src/mem/ruby/network/simple/SimpleNetwork.hh
b/src/mem/ruby/network/simple/SimpleNetwork.hh
index aee5ef5..e0a1a0a 100644
--- a/src/mem/ruby/network/simple/SimpleNetwork.hh
+++ b/src/mem/ruby/network/simple/SimpleNetwork.hh
@@ -54,7 +54,7 @@
bool getAdaptiveRouting() {return m_adaptive_routing; }
void collateStats();
- void regStats();
+ void regStats() override;
bool isVNetOrdered(int vnet) const { return m_ordered[vnet]; }
@@ -89,10 +89,13 @@
const int m_buffer_size;
const int m_endpoint_bandwidth;
const bool m_adaptive_routing;
-
- //Statistical variables
- Stats::Formula m_msg_counts[MessageSizeType_NUM];
- Stats::Formula m_msg_bytes[MessageSizeType_NUM];
+ struct SimpleNetworkStats : public Stats::Group
+ {
+ SimpleNetworkStats(SimpleNetwork *parent);
+ //Statistical variables
+ Stats::Formula msg_counts[MessageSizeType_NUM];
+ Stats::Formula msg_bytes[MessageSizeType_NUM];
+ } simpNetStats;
};
inline std::ostream&
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/36315
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I06b03edccf22dbd85f70ad30c03e0c76580fdbf9
Gerrit-Change-Number: 36315
Gerrit-PatchSet: 1
Gerrit-Owner: Marjan Fariborz <mfarib...@ucdavis.edu>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s