ruby: make the max_size variable of the MessageBuffer unsigned
authorNilay Vaish <nilay@cs.wisc.edu>
Sun, 2 Mar 2014 05:59:57 +0000 (23:59 -0600)
committerNilay Vaish <nilay@cs.wisc.edu>
Sun, 2 Mar 2014 05:59:57 +0000 (23:59 -0600)
src/mem/ruby/buffers/MessageBuffer.cc
src/mem/ruby/buffers/MessageBuffer.hh
src/mem/ruby/slicc_interface/AbstractController.hh
src/mem/ruby/slicc_interface/Controller.py

index 0a7a78e8da9bd7611092b88ebdff0634d07337de..0486f627e9eba77b04f84e5287f75ce8c34cca76 100644 (file)
@@ -49,7 +49,7 @@ MessageBuffer::MessageBuffer(const string &name)
 
     m_ordering_set = false;
     m_strict_fifo = true;
-    m_max_size = -1;
+    m_max_size = 0;
     m_randomization = true;
     m_size_last_time_size_checked = 0;
     m_size_at_cycle_start = 0;
@@ -63,7 +63,7 @@ MessageBuffer::MessageBuffer(const string &name)
     m_vnet_id = 0;
 }
 
-int
+unsigned int
 MessageBuffer::getSize()
 {
     if (m_time_last_time_size_checked != m_receiver->curCycle()) {
@@ -79,7 +79,7 @@ MessageBuffer::areNSlotsAvailable(unsigned int n)
 {
 
     // fast path when message buffers have infinite size
-    if (m_max_size == -1) {
+    if (m_max_size == 0) {
         return true;
     }
 
index b65717e2dbd57cf8baf24e8b9c513f28ce327d91..444a7fc30696e3159d635b808a9e8dd0d72fbe26 100644 (file)
@@ -134,8 +134,8 @@ class MessageBuffer
         m_ordering_set = true;
     }
 
-    void resize(int size) { m_max_size = size; }
-    int getSize();
+    void resize(unsigned int size) { m_max_size = size; }
+    unsigned int getSize();
     void setRandomization(bool random_flag) { m_randomization = random_flag; }
 
     void clear();
index d6ba928fdadcccc75c7a7eec19afba051f638550..4ef3f328b0f7af7a4801c3e6bffa4860fffc6d00 100644 (file)
@@ -146,7 +146,7 @@ class AbstractController : public ClockedObject, public Consumer
     unsigned int m_cur_in_port;
     int m_number_of_TBEs;
     int m_transitions_per_cycle;
-    int m_buffer_size;
+    unsigned int m_buffer_size;
     Cycles m_recycle_latency;
 
     //! Map from physical network number to the Message Buffer.
index 638d50b612b184277c7f0f4483500ac6d4316d82..f82e0a70d625cd7147d57b15884a8f0c9ec71c80 100644 (file)
@@ -40,7 +40,8 @@ class RubyController(ClockedObject):
 
     transitions_per_cycle = \
         Param.Int(32, "no. of  SLICC state machine transitions per cycle")
-    buffer_size = Param.Int(0, "max buffer size 0 means infinite")
+    buffer_size = Param.UInt32(0, "max buffer size 0 means infinite")
+
     recycle_latency = Param.Cycles(10, "")
     number_of_TBEs = Param.Int(256, "")
     ruby_system = Param.RubySystem("")