diff options
Diffstat (limited to 'src/mem/ruby/network/garnet')
3 files changed, 7 insertions, 0 deletions
diff --git a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc index 16c56e95e..551e83fa3 100644 --- a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc +++ b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc @@ -48,6 +48,8 @@ using m5::stl_helpers::deletePointers; GarnetNetwork::GarnetNetwork(const Params *p) : BaseGarnetNetwork(p) { + m_buffer_size = p->buffer_size; + m_ruby_start = 0; m_flits_received = 0; m_flits_injected = 0; diff --git a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh index a89a70ba7..943739041 100644 --- a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh +++ b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh @@ -56,6 +56,8 @@ class GarnetNetwork : public BaseGarnetNetwork void init(); + int getBufferSize() { return m_buffer_size; } + // returns the queue requested for the given component MessageBuffer* getToNetQueue(NodeID id, bool ordered, int network_num); MessageBuffer* getFromNetQueue(NodeID id, bool ordered, int network_num); @@ -122,6 +124,7 @@ class GarnetNetwork : public BaseGarnetNetwork std::vector<NetworkInterface *> m_ni_ptr_vector; // All NI's in Network Time m_ruby_start; + int m_buffer_size; }; inline std::ostream& diff --git a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.py b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.py index 0f57d5be7..0844fe3b4 100644 --- a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.py +++ b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.py @@ -33,4 +33,6 @@ from BaseGarnetNetwork import BaseGarnetNetwork class GarnetNetwork(BaseGarnetNetwork): type = 'GarnetNetwork' + buffer_size = Param.Int(0, + "default buffer size; 0 indicates infinite buffering"); |