changeset fb7859dc2273 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=fb7859dc2273
description:
        ruby: network: garnet: fixed: removes next cycle functions
        At several places, there are functions that take a cycle value as input
        and performs some computation.  Along with each such function, another
        function was being defined that simply added one more cycle to input and
        computed the same function.  This patch removes this second copy of the
        function.  Places where these functions were being called have been 
updated
        to use the original function with argument being current cycle + 1.

diffstat:

 src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh        |  11 +----
 src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc |   2 +-
 src/mem/ruby/network/garnet/fixed-pipeline/SWallocator_d.cc      |   5 +-
 src/mem/ruby/network/garnet/fixed-pipeline/Switch_d.cc           |   4 +-
 src/mem/ruby/network/garnet/fixed-pipeline/VCallocator_d.cc      |   5 +-
 src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.cc   |  21 
+--------
 src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.hh   |   2 -
 src/mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.cc       |  11 -----
 src/mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.hh       |   1 -
 src/mem/ruby/network/garnet/fixed-pipeline/flit_d.hh             |   7 ---
 10 files changed, 16 insertions(+), 53 deletions(-)

diffs (177 lines):

diff -r 9400a90ec5d1 -r fb7859dc2273 
src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh
--- a/src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh Thu Feb 20 
17:27:45 2014 -0600
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh Thu Feb 20 
17:28:01 2014 -0600
@@ -125,16 +125,9 @@
     }
 
     inline bool
-    need_stage(int vc, VC_state_type state, flit_stage stage, Cycles curTime)
+    need_stage(int vc, VC_state_type state, flit_stage stage, Cycles cTime)
     {
-        return m_vcs[vc]->need_stage(state, stage, curTime);
-    }
-
-    inline bool
-    need_stage_nextcycle(int vc, VC_state_type state, flit_stage stage,
-                         Cycles curTime)
-    {
-        return m_vcs[vc]->need_stage_nextcycle(state, stage, curTime);
+        return m_vcs[vc]->need_stage(state, stage, cTime);
     }
 
     inline bool
diff -r 9400a90ec5d1 -r fb7859dc2273 
src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc  Thu Feb 
20 17:27:45 2014 -0600
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc  Thu Feb 
20 17:28:01 2014 -0600
@@ -361,7 +361,7 @@
         }
     }
     for (int vc = 0; vc < m_num_vcs; vc++) {
-        if (m_ni_buffers[vc]->isReadyForNext(m_net_ptr->curCycle())) {
+        if (m_ni_buffers[vc]->isReady(m_net_ptr->curCycle() + Cycles(1))) {
             scheduleEvent(Cycles(1));
             return;
         }
diff -r 9400a90ec5d1 -r fb7859dc2273 
src/mem/ruby/network/garnet/fixed-pipeline/SWallocator_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/SWallocator_d.cc       Thu Feb 
20 17:27:45 2014 -0600
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/SWallocator_d.cc       Thu Feb 
20 17:28:01 2014 -0600
@@ -218,10 +218,11 @@
 void
 SWallocator_d::check_for_wakeup()
 {
+    Cycles nextCycle = m_router->curCycle() + Cycles(1);
+
     for (int i = 0; i < m_num_inports; i++) {
         for (int j = 0; j < m_num_vcs; j++) {
-            if (m_input_unit[i]->need_stage_nextcycle(j, ACTIVE_, SA_,
-                                                      m_router->curCycle())) {
+            if (m_input_unit[i]->need_stage(j, ACTIVE_, SA_, nextCycle)) {
                 scheduleEvent(Cycles(1));
                 return;
             }
diff -r 9400a90ec5d1 -r fb7859dc2273 
src/mem/ruby/network/garnet/fixed-pipeline/Switch_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/Switch_d.cc    Thu Feb 20 
17:27:45 2014 -0600
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/Switch_d.cc    Thu Feb 20 
17:28:01 2014 -0600
@@ -88,8 +88,10 @@
 void
 Switch_d::check_for_wakeup()
 {
+    Cycles nextCycle = m_router->curCycle() + Cycles(1);
+
     for (int inport = 0; inport < m_num_inports; inport++) {
-        if (m_switch_buffer[inport]->isReadyForNext(m_router->curCycle())) {
+        if (m_switch_buffer[inport]->isReady(nextCycle)) {
             scheduleEvent(Cycles(1));
             break;
         }
diff -r 9400a90ec5d1 -r fb7859dc2273 
src/mem/ruby/network/garnet/fixed-pipeline/VCallocator_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/VCallocator_d.cc       Thu Feb 
20 17:27:45 2014 -0600
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/VCallocator_d.cc       Thu Feb 
20 17:28:01 2014 -0600
@@ -256,10 +256,11 @@
 void
 VCallocator_d::check_for_wakeup()
 {
+    Cycles nextCycle = m_router->curCycle() + Cycles(1);
+
     for (int i = 0; i < m_num_inports; i++) {
         for (int j = 0; j < m_num_vcs; j++) {
-            if (m_input_unit[i]->need_stage_nextcycle(j, VC_AB_, VA_,
-                   m_router->curCycle())) {
+            if (m_input_unit[i]->need_stage(j, VC_AB_, VA_, nextCycle)) {
                 scheduleEvent(Cycles(1));
                 return;
             }
diff -r 9400a90ec5d1 -r fb7859dc2273 
src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.cc    Thu Feb 
20 17:27:45 2014 -0600
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.cc    Thu Feb 
20 17:28:01 2014 -0600
@@ -62,25 +62,12 @@
 
 bool
 VirtualChannel_d::need_stage(VC_state_type state, flit_stage stage,
-                             Cycles curTime)
+                             Cycles ct)
 {
-    if ((m_vc_state.first == state) && (curTime >= m_vc_state.second)) {
-        if (m_input_buffer->isReady(curTime)) {
+    if ((m_vc_state.first == state) && (ct >= m_vc_state.second)) {
+        if (m_input_buffer->isReady(ct)) {
             flit_d *t_flit = m_input_buffer->peekTopFlit();
-            return(t_flit->is_stage(stage, curTime)) ;
-        }
-    }
-    return false;
-}
-
-bool
-VirtualChannel_d::need_stage_nextcycle(VC_state_type state, flit_stage stage,
-                                       Cycles curTime)
-{
-    if ((m_vc_state.first == state) && ((curTime + 1) >= m_vc_state.second)) {
-        if (m_input_buffer->isReadyForNext(curTime)) {
-            flit_d *t_flit = m_input_buffer->peekTopFlit();
-            return(t_flit->is_next_stage(stage, curTime)) ;
+            return(t_flit->is_stage(stage, ct)) ;
         }
     }
     return false;
diff -r 9400a90ec5d1 -r fb7859dc2273 
src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.hh
--- a/src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.hh    Thu Feb 
20 17:27:45 2014 -0600
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.hh    Thu Feb 
20 17:28:01 2014 -0600
@@ -43,8 +43,6 @@
     ~VirtualChannel_d();
 
     bool need_stage(VC_state_type state, flit_stage stage, Cycles curTime);
-    bool need_stage_nextcycle(VC_state_type state, flit_stage stage,
-                              Cycles curTime);
     void set_outport(int outport);
     void grant_vc(int out_vc, Cycles curTime);
 
diff -r 9400a90ec5d1 -r fb7859dc2273 
src/mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.cc        Thu Feb 
20 17:27:45 2014 -0600
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.cc        Thu Feb 
20 17:28:01 2014 -0600
@@ -57,17 +57,6 @@
     return false;
 }
 
-bool
-flitBuffer_d::isReadyForNext(Cycles curTime)
-{
-    if (m_buffer.size() != 0 ) {
-        flit_d *t_flit = peekTopFlit();
-        if (t_flit->get_time() <= (curTime + 1))
-            return true;
-    }
-    return false;
-}
-
 void
 flitBuffer_d::print(std::ostream& out) const
 {
diff -r 9400a90ec5d1 -r fb7859dc2273 
src/mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.hh
--- a/src/mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.hh        Thu Feb 
20 17:27:45 2014 -0600
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.hh        Thu Feb 
20 17:28:01 2014 -0600
@@ -45,7 +45,6 @@
     flitBuffer_d(int maximum_size);
 
     bool isReady(Cycles curTime);
-    bool isReadyForNext(Cycles curTime);
     bool isEmpty();
     void print(std::ostream& out) const;
     bool isFull();
diff -r 9400a90ec5d1 -r fb7859dc2273 
src/mem/ruby/network/garnet/fixed-pipeline/flit_d.hh
--- a/src/mem/ruby/network/garnet/fixed-pipeline/flit_d.hh      Thu Feb 20 
17:27:45 2014 -0600
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/flit_d.hh      Thu Feb 20 
17:28:01 2014 -0600
@@ -65,13 +65,6 @@
                 curTime >= m_stage.second);
     }
 
-    bool
-    is_next_stage(flit_stage t_stage, Cycles curTime)
-    {
-        return (m_stage.first == t_stage &&
-                (curTime + 1) >= m_stage.second);
-    }
-
     void
     advance_stage(flit_stage t_stage, Cycles curTime)
     {
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to