summaryrefslogtreecommitdiff
path: root/src/mem/ruby/network/orion
diff options
context:
space:
mode:
authorTushar Krishna <tushar@csail.mit.edu>2011-03-21 22:51:59 -0400
committerTushar Krishna <tushar@csail.mit.edu>2011-03-21 22:51:59 -0400
commit46cce440be4999cfdedebbf190c83570ba9f1b49 (patch)
tree814477ea1de4ac4fc40d6bfd00764316bb37a45c /src/mem/ruby/network/orion
parent1b9002eefc39654b18547d7adb77b6fec77d883e (diff)
downloadgem5-46cce440be4999cfdedebbf190c83570ba9f1b49.tar.xz
This patch makes garnet use the info about active and inactive vnets during allocation and power estimations etc
Diffstat (limited to 'src/mem/ruby/network/orion')
-rw-r--r--src/mem/ruby/network/orion/NetworkPower.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/mem/ruby/network/orion/NetworkPower.cc b/src/mem/ruby/network/orion/NetworkPower.cc
index b71e09dce..a28b8fd07 100644
--- a/src/mem/ruby/network/orion/NetworkPower.cc
+++ b/src/mem/ruby/network/orion/NetworkPower.cc
@@ -55,9 +55,10 @@ Router_d::calculate_power()
std::vector<double > buf_write_count_active;
for (int i =0; i < m_virtual_networks; i++) {
- if (vc_local_arbit_count[i] > 0) {
+
+ active_vclass_ary[i] = (get_net_ptr())->validVirtualNetwork(i);
+ if (active_vclass_ary[i]) {
num_active_vclass++;
- active_vclass_ary[i] = true;
vc_local_arbit_count_active.push_back(vc_local_arbit_count[i]);
vc_global_arbit_count_active.push_back(vc_global_arbit_count[i]);
buf_read_count_active.push_back(buf_read_count[i]);
@@ -66,7 +67,7 @@ Router_d::calculate_power()
else {
// Inactive vclass
assert(vc_global_arbit_count[i] == 0);
- active_vclass_ary[i] = false;
+ assert(vc_local_arbit_count[i] == 0);
}
}