changeset 24a00a6d5992 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=24a00a6d5992
description:
        garnet: added network ptr to links to be used by orion

diffstat:

 src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc |  7 +++++++
 src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.hh   |  7 ++++++-
 src/mem/ruby/network/orion/NetworkPower.cc                    |  8 ++------
 3 files changed, 15 insertions(+), 7 deletions(-)

diffs (58 lines):

diff -r 03cfd2ecf6bb -r 24a00a6d5992 
src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc     Sun May 
29 21:48:58 2011 -0700
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc     Tue May 
31 02:55:14 2011 -0400
@@ -90,6 +90,13 @@
     }
     // false because this isn't a reconfiguration
     m_topology_ptr->createLinks(this, false);
+
+    // initialize the link's network pointers
+   for (vector<NetworkLink_d*>::const_iterator i = m_link_ptr_vector.begin();
+         i != m_link_ptr_vector.end(); ++i) {
+        NetworkLink_d* net_link = safe_cast<NetworkLink_d*>(*i);
+        net_link->init_net_ptr(this);
+    }
 }
 
 GarnetNetwork_d::~GarnetNetwork_d()
diff -r 03cfd2ecf6bb -r 24a00a6d5992 
src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.hh
--- a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.hh       Sun May 
29 21:48:58 2011 -0700
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.hh       Tue May 
31 02:55:14 2011 -0400
@@ -65,12 +65,17 @@
     inline bool isReady()           { return linkBuffer->isReady(); }
     inline flit_d* peekLink()       { return linkBuffer->peekTopFlit(); }
     inline flit_d* consumeLink()    { return linkBuffer->getTopFlit(); }
+    void init_net_ptr(GarnetNetwork_d* net_ptr)
+    {
+        m_net_ptr = net_ptr;
+    }
 
   protected:
     int m_id;
     int m_latency;
+    int channel_width;
 
-    int channel_width;
+    GarnetNetwork_d *m_net_ptr;
     flitBuffer_d *linkBuffer;
     Consumer *link_consumer;
     flitBuffer_d *link_srcQueue;
diff -r 03cfd2ecf6bb -r 24a00a6d5992 src/mem/ruby/network/orion/NetworkPower.cc
--- a/src/mem/ruby/network/orion/NetworkPower.cc        Sun May 29 21:48:58 
2011 -0700
+++ b/src/mem/ruby/network/orion/NetworkPower.cc        Tue May 31 02:55:14 
2011 -0400
@@ -245,13 +245,9 @@
         channel_width    /* channel width */,
         orion_cfg_ptr);
 
-//
-//  NOTE!  I believe this calculation will be moved to McPAT, thus this
-//  reference to the net_ptr can be removed
-//
 //    // Dynamic Power
-    double sim_cycles = 0.0;
-//         (double)(g_eventQueue_ptr->getTime() - 
m_net_ptr->getRubyStartTime());
+    double sim_cycles =
+        (double)(g_eventQueue_ptr->getTime() - m_net_ptr->getRubyStartTime());
 
     double Plink_dyn = orion_link_ptr->calc_dynamic_energy(channel_width/2)*
         (m_link_utilized/ sim_cycles)*freq_Hz;
_______________________________________________
gem5-dev mailing list
gem5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to