summaryrefslogtreecommitdiff
path: root/src/mem/ruby/network/garnet
diff options
context:
space:
mode:
authorBrad Beckmann <Brad.Beckmann@amd.com>2011-04-28 17:18:14 -0700
committerBrad Beckmann <Brad.Beckmann@amd.com>2011-04-28 17:18:14 -0700
commit491cc1a9f40571180b49b5318d735109380dad17 (patch)
tree7282442301a9046662f9d4473b0c5cb69b829398 /src/mem/ruby/network/garnet
parent8733ed4b7d3f4c138738c9636da1437e7724e9cc (diff)
downloadgem5-491cc1a9f40571180b49b5318d735109380dad17.tar.xz
network: moved network config params
Moved the buffer_size, endpoint_bandwidth, and adaptive_routing params out of the top-level parent network object and to only those networks that actually use those parameters.
Diffstat (limited to 'src/mem/ruby/network/garnet')
-rw-r--r--src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc2
-rw-r--r--src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh3
-rw-r--r--src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.py2
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");