changeset f5335ac67f41 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=f5335ac67f41
description:
        ruby: replace Time with Cycles in garnet fixed and flexible

diffstat:

 src/mem/ruby/network/garnet/BaseGarnetNetwork.cc                  |   6 +-
 src/mem/ruby/network/garnet/BaseGarnetNetwork.hh                  |   9 +-
 src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh         |  18 ++--
 src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc  |   9 +-
 src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.hh       |   3 +-
 src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.hh        |   6 +-
 src/mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.cc        |   2 +-
 src/mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.hh        |   6 +-
 src/mem/ruby/network/garnet/fixed-pipeline/SWallocator_d.cc       |   6 +-
 src/mem/ruby/network/garnet/fixed-pipeline/Switch_d.cc            |   2 +-
 src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.cc    |  12 +-
 src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.hh    |  22 ++--
 src/mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.cc        |   4 +-
 src/mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.hh        |   4 +-
 src/mem/ruby/network/garnet/fixed-pipeline/flit_d.cc              |   4 +-
 src/mem/ruby/network/garnet/fixed-pipeline/flit_d.hh              |  41 
+++------
 src/mem/ruby/network/garnet/flexible-pipeline/FlexibleConsumer.hh |   6 +-
 src/mem/ruby/network/garnet/flexible-pipeline/InVcState.cc        |   6 +-
 src/mem/ruby/network/garnet/flexible-pipeline/InVcState.hh        |  10 +-
 src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc |  18 ++-
 src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.hh |   6 +-
 src/mem/ruby/network/garnet/flexible-pipeline/NetworkLink.cc      |   6 +-
 src/mem/ruby/network/garnet/flexible-pipeline/NetworkLink.hh      |   6 +-
 src/mem/ruby/network/garnet/flexible-pipeline/OutVcState.cc       |   6 +-
 src/mem/ruby/network/garnet/flexible-pipeline/OutVcState.hh       |  10 +-
 src/mem/ruby/network/garnet/flexible-pipeline/Router.cc           |  20 ++--
 src/mem/ruby/network/garnet/flexible-pipeline/Router.hh           |   4 +-
 src/mem/ruby/network/garnet/flexible-pipeline/flit.cc             |  12 +-
 src/mem/ruby/network/garnet/flexible-pipeline/flit.hh             |  18 ++--
 src/mem/ruby/network/garnet/flexible-pipeline/flitBuffer.cc       |   4 +-
 src/mem/ruby/network/garnet/flexible-pipeline/flitBuffer.hh       |   4 +-
 src/mem/ruby/network/simple/Throttle.hh                           |   2 +-
 32 files changed, 144 insertions(+), 148 deletions(-)

diffs (truncated from 1052 to 300 lines):

diff -r 66b3ed9a176e -r f5335ac67f41 
src/mem/ruby/network/garnet/BaseGarnetNetwork.cc
--- a/src/mem/ruby/network/garnet/BaseGarnetNetwork.cc  Sun Feb 10 21:43:08 
2013 -0600
+++ b/src/mem/ruby/network/garnet/BaseGarnetNetwork.cc  Sun Feb 10 21:43:09 
2013 -0600
@@ -36,7 +36,7 @@
 using namespace std;
 
 BaseGarnetNetwork::BaseGarnetNetwork(const Params *p)
-    : Network(p)
+    : Network(p), m_ruby_start(0)
 {
     m_ni_flit_size = p->ni_flit_size;
     m_vcs_per_vnet = p->vcs_per_vnet;
@@ -44,8 +44,6 @@
     if (m_enable_fault_model)
         fault_model = p->fault_model;
 
-    m_ruby_start = 0;
-
     // Currently Garnet only supports uniform bandwidth for all
     // links and network interfaces.
     for (std::vector<BasicExtLink*>::const_iterator i = 
@@ -130,7 +128,7 @@
     m_ruby_start = curCycle();
 }
 
-Time
+Cycles
 BaseGarnetNetwork::getRubyStartTime()
 {
     return m_ruby_start;
diff -r 66b3ed9a176e -r f5335ac67f41 
src/mem/ruby/network/garnet/BaseGarnetNetwork.hh
--- a/src/mem/ruby/network/garnet/BaseGarnetNetwork.hh  Sun Feb 10 21:43:08 
2013 -0600
+++ b/src/mem/ruby/network/garnet/BaseGarnetNetwork.hh  Sun Feb 10 21:43:09 
2013 -0600
@@ -40,7 +40,6 @@
 #include "mem/ruby/network/Network.hh"
 #include "mem/ruby/network/fault_model/FaultModel.hh"
 #include "params/BaseGarnetNetwork.hh"
-#include "math.h"
 
 class BaseGarnetNetwork : public Network 
 {
@@ -58,13 +57,13 @@
     void increment_received_flits(int vnet) { m_flits_received[vnet]++; }
 
     void
-    increment_network_latency(Time latency, int vnet)
+    increment_network_latency(Cycles latency, int vnet)
     {
         m_network_latency[vnet] += latency;
     }
 
     void
-    increment_queueing_latency(Time latency, int vnet)
+    increment_queueing_latency(Cycles latency, int vnet)
     {
         m_queueing_latency[vnet] += latency;
     }
@@ -81,7 +80,7 @@
     virtual void checkNetworkAllocation(NodeID id, bool ordered,
         int network_num, std::string vnet_type) = 0;
 
-    Time getRubyStartTime();
+    Cycles getRubyStartTime();
     void clearStats();
     void printStats(std::ostream& out) const;
     void printPerformanceStats(std::ostream& out) const;
@@ -104,7 +103,7 @@
     std::vector<std::vector<MessageBuffer*> > m_toNetQueues;
     std::vector<std::vector<MessageBuffer*> > m_fromNetQueues;
 
-    Time m_ruby_start;
+    Cycles m_ruby_start;
 };
 
 #endif // __MEM_RUBY_NETWORK_GARNET_BASEGARNETNETWORK_HH__
diff -r 66b3ed9a176e -r f5335ac67f41 
src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh
--- a/src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh Sun Feb 10 
21:43:08 2013 -0600
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh Sun Feb 10 
21:43:09 2013 -0600
@@ -56,18 +56,18 @@
     inline int get_inlink_id() { return m_in_link->get_id(); }
 
     inline void
-    set_vc_state(VC_state_type state, int vc, Time curTime)
+    set_vc_state(VC_state_type state, int vc, Cycles curTime)
     {
         m_vcs[vc]->set_state(state, curTime);
     }
 
     inline void
-    set_enqueue_time(int invc, Time time)
+    set_enqueue_time(int invc, Cycles time)
     {
         m_vcs[invc]->set_enqueue_time(time);
     }
 
-    inline Time
+    inline Cycles
     get_enqueue_time(int invc)
     {
         return m_vcs[invc]->get_enqueue_time();
@@ -86,7 +86,7 @@
     }
 
     inline void
-    increment_credit(int in_vc, bool free_signal, Time curTime)
+    increment_credit(int in_vc, bool free_signal, Cycles curTime)
     {
         flit_d *t_flit = new flit_d(in_vc, free_signal, curTime);
         creditQueue->insert(t_flit);
@@ -100,14 +100,14 @@
     }
 
     inline void
-    updateRoute(int vc, int outport, Time curTime)
+    updateRoute(int vc, int outport, Cycles curTime)
     {
         m_vcs[vc]->set_outport(outport);
         m_vcs[vc]->set_state(VC_AB_, curTime);
     }
 
     inline void
-    grant_vc(int in_vc, int out_vc, Time curTime)
+    grant_vc(int in_vc, int out_vc, Cycles curTime)
     {
         m_vcs[in_vc]->grant_vc(out_vc, curTime);
     }
@@ -125,20 +125,20 @@
     }
 
     inline bool
-    need_stage(int vc, VC_state_type state, flit_stage stage, Time curTime)
+    need_stage(int vc, VC_state_type state, flit_stage stage, Cycles curTime)
     {
         return m_vcs[vc]->need_stage(state, stage, curTime);
     }
 
     inline bool
     need_stage_nextcycle(int vc, VC_state_type state, flit_stage stage,
-                         Time curTime)
+                         Cycles curTime)
     {
         return m_vcs[vc]->need_stage_nextcycle(state, stage, curTime);
     }
 
     inline bool
-    isReady(int invc, Time curTime)
+    isReady(int invc, Cycles curTime)
     {
         return m_vcs[invc]->isReady(curTime);
     }
diff -r 66b3ed9a176e -r f5335ac67f41 
src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc  Sun Feb 
10 21:43:08 2013 -0600
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc  Sun Feb 
10 21:43:09 2013 -0600
@@ -255,9 +255,10 @@
 
         int vnet = t_flit->get_vnet();
         m_net_ptr->increment_received_flits(vnet);
-        int network_delay = m_net_ptr->curCycle() -
-                            t_flit->get_enqueue_time();
-        int queueing_delay = t_flit->get_delay();
+        Cycles network_delay = m_net_ptr->curCycle() -
+                               t_flit->get_enqueue_time();
+        Cycles queueing_delay = t_flit->get_delay();
+
         m_net_ptr->increment_network_latency(network_delay, vnet);
         m_net_ptr->increment_queueing_latency(queueing_delay, vnet);
         delete t_flit;
@@ -321,7 +322,7 @@
             m_out_vc_state[vc]->decrement_credit();
             // Just removing the flit
             flit_d *t_flit = m_ni_buffers[vc]->getTopFlit();
-            t_flit->set_time(m_net_ptr->curCycle() + 1);
+            t_flit->set_time(m_net_ptr->curCycle() + Cycles(1));
             outSrcQueue->insert(t_flit);
             // schedule the out link
             outNetLink->scheduleEvent(Cycles(1));
diff -r 66b3ed9a176e -r f5335ac67f41 
src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.hh
--- a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.hh       Sun Feb 
10 21:43:08 2013 -0600
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.hh       Sun Feb 
10 21:43:09 2013 -0600
@@ -62,7 +62,8 @@
 
     double calculate_power();
 
-    inline bool isReady(Time curTime) { return linkBuffer->isReady(curTime); }
+    inline bool isReady(Cycles curTime)
+    { return linkBuffer->isReady(curTime); }
     inline flit_d* peekLink()       { return linkBuffer->peekTopFlit(); }
     inline flit_d* consumeLink()    { return linkBuffer->getTopFlit(); }
     void init_net_ptr(GarnetNetwork_d* net_ptr)
diff -r 66b3ed9a176e -r f5335ac67f41 
src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.hh
--- a/src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.hh        Sun Feb 
10 21:43:08 2013 -0600
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.hh        Sun Feb 
10 21:43:09 2013 -0600
@@ -46,12 +46,12 @@
     void set_inport(int port)       { m_in_port = port; }
     void set_invc(int vc)           { m_in_vc = vc; }
     inline bool
-    isInState(VC_state_type state, Time request_time)
+    isInState(VC_state_type state, Cycles request_time)
     {
         return ((m_vc_state == state) && (request_time >= m_time) );
     }
     inline void
-    setState(VC_state_type state, Time time)
+    setState(VC_state_type state, Cycles time)
     {
         m_vc_state = state;
         m_time = time;
@@ -63,7 +63,7 @@
   private:
     GarnetNetwork_d *m_network_ptr;
     int m_id ;
-    Time m_time;
+    Cycles m_time;
     VC_state_type m_vc_state;
     int m_in_port;
     int m_in_vc;
diff -r 66b3ed9a176e -r f5335ac67f41 
src/mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.cc        Sun Feb 
10 21:43:08 2013 -0600
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.cc        Sun Feb 
10 21:43:09 2013 -0600
@@ -102,7 +102,7 @@
 void
 OutputUnit_d::update_vc(int vc, int in_port, int in_vc)
 {
-    m_outvc_state[vc]->setState(ACTIVE_, m_router->curCycle() + 1);
+    m_outvc_state[vc]->setState(ACTIVE_, m_router->curCycle() + Cycles(1));
     m_outvc_state[vc]->set_inport(in_port);
     m_outvc_state[vc]->set_invc(in_vc);
     m_router->update_incredit(in_port, in_vc,
diff -r 66b3ed9a176e -r f5335ac67f41 
src/mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.hh
--- a/src/mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.hh        Sun Feb 
10 21:43:08 2013 -0600
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.hh        Sun Feb 
10 21:43:09 2013 -0600
@@ -69,13 +69,13 @@
     }
 
     inline void
-    set_vc_state(VC_state_type state, int vc, Time curTime)
+    set_vc_state(VC_state_type state, int vc, Cycles curTime)
     {
-        m_outvc_state[vc]->setState(state, curTime + 1);
+        m_outvc_state[vc]->setState(state, curTime + Cycles(1));
     }
 
     inline bool
-    is_vc_idle(int vc, Time curTime)
+    is_vc_idle(int vc, Cycles curTime)
     {
         return (m_outvc_state[vc]->isInState(IDLE_, curTime));
     }
diff -r 66b3ed9a176e -r f5335ac67f41 
src/mem/ruby/network/garnet/fixed-pipeline/SWallocator_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/SWallocator_d.cc       Sun Feb 
10 21:43:08 2013 -0600
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/SWallocator_d.cc       Sun Feb 
10 21:43:09 2013 -0600
@@ -181,7 +181,8 @@
                 t_flit->advance_stage(ST_, m_router->curCycle());
                 t_flit->set_vc(outvc);
                 t_flit->set_outport(outport);
-                t_flit->set_time(m_router->curCycle() + 1);
+                t_flit->set_time(m_router->curCycle() + Cycles(1));
+
                 m_output_unit[outport]->decrement_credit(outvc);
                 m_router->update_sw_winner(inport, t_flit);
                 m_global_arbiter_activity++;
@@ -200,7 +201,8 @@
 
                     m_input_unit[inport]->set_vc_state(IDLE_, invc,
                         m_router->curCycle());
-                    m_input_unit[inport]->set_enqueue_time(invc, INFINITE_);
+                    m_input_unit[inport]->set_enqueue_time(invc,
+                        Cycles(INFINITE_));
                 } else {
                     // Send a credit back
                     // but do not indicate that the VC is idle
diff -r 66b3ed9a176e -r f5335ac67f41 
src/mem/ruby/network/garnet/fixed-pipeline/Switch_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/Switch_d.cc    Sun Feb 10 
21:43:08 2013 -0600
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/Switch_d.cc    Sun Feb 10 
21:43:09 2013 -0600
@@ -74,7 +74,7 @@
         if (t_flit->is_stage(ST_, m_router->curCycle())) {
             int outport = t_flit->get_outport();
             t_flit->advance_stage(LT_, m_router->curCycle());
-            t_flit->set_time(m_router->curCycle() + 1);
+            t_flit->set_time(m_router->curCycle() + Cycles(1));
 
             // This will take care of waking up the Network Link
             m_output_unit[outport]->insert_flit(t_flit);
diff -r 66b3ed9a176e -r f5335ac67f41 
src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.cc    Sun Feb 
10 21:43:08 2013 -0600
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.cc    Sun Feb 
10 21:43:09 2013 -0600
@@ -30,13 +30,13 @@
 
 #include "mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.hh"
 
-VirtualChannel_d::VirtualChannel_d(int id, Time curTime)
+VirtualChannel_d::VirtualChannel_d(int id, Cycles curTime)
+    : m_enqueue_time(INFINITE_)
 {
     m_id = id;
     m_input_buffer = new flitBuffer_d();
     m_vc_state.first = IDLE_;
     m_vc_state.second = curTime;
-    m_enqueue_time = INFINITE_;
 }
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to