diff options
Diffstat (limited to 'src/mem/ruby/network/simple')
-rw-r--r-- | src/mem/ruby/network/simple/PerfectSwitch.cc | 2 | ||||
-rw-r--r-- | src/mem/ruby/network/simple/Switch.cc | 6 | ||||
-rw-r--r-- | src/mem/ruby/network/simple/Switch.hh | 2 | ||||
-rw-r--r-- | src/mem/ruby/network/simple/Throttle.cc | 10 | ||||
-rw-r--r-- | src/mem/ruby/network/simple/Throttle.hh | 17 |
5 files changed, 17 insertions, 20 deletions
diff --git a/src/mem/ruby/network/simple/PerfectSwitch.cc b/src/mem/ruby/network/simple/PerfectSwitch.cc index 37035f95f..687bdbd86 100644 --- a/src/mem/ruby/network/simple/PerfectSwitch.cc +++ b/src/mem/ruby/network/simple/PerfectSwitch.cc @@ -267,7 +267,7 @@ PerfectSwitch::wakeup() // There were not enough resources if (!enough) { - scheduleEvent(1); + scheduleEvent(Cycles(1)); DPRINTF(RubyNetwork, "Can't deliver message since a node " "is blocked\n"); DPRINTF(RubyNetwork, "Message: %s\n", (*net_msg_ptr)); diff --git a/src/mem/ruby/network/simple/Switch.cc b/src/mem/ruby/network/simple/Switch.cc index d9abc4cc7..76d37c321 100644 --- a/src/mem/ruby/network/simple/Switch.cc +++ b/src/mem/ruby/network/simple/Switch.cc @@ -72,12 +72,12 @@ Switch::addInPort(const vector<MessageBuffer*>& in) void Switch::addOutPort(const vector<MessageBuffer*>& out, - const NetDest& routing_table_entry, int link_latency, int bw_multiplier) + const NetDest& routing_table_entry, Cycles link_latency, int bw_multiplier) { // Create a throttle Throttle* throttle_ptr = new Throttle(m_id, m_throttles.size(), - link_latency, bw_multiplier, m_network_ptr->getEndpointBandwidth(), - this); + link_latency, bw_multiplier, m_network_ptr->getEndpointBandwidth(), + this); m_throttles.push_back(throttle_ptr); // Create one buffer per vnet (these are intermediaryQueues) diff --git a/src/mem/ruby/network/simple/Switch.hh b/src/mem/ruby/network/simple/Switch.hh index 2757e6511..8c265a4bf 100644 --- a/src/mem/ruby/network/simple/Switch.hh +++ b/src/mem/ruby/network/simple/Switch.hh @@ -63,7 +63,7 @@ class Switch : public BasicRouter void init(); void addInPort(const std::vector<MessageBuffer*>& in); void addOutPort(const std::vector<MessageBuffer*>& out, - const NetDest& routing_table_entry, int link_latency, + const NetDest& routing_table_entry, Cycles link_latency, int bw_multiplier); const Throttle* getThrottle(LinkID link_number) const; const std::vector<Throttle*>* getThrottles() const; diff --git a/src/mem/ruby/network/simple/Throttle.cc b/src/mem/ruby/network/simple/Throttle.cc index b591cc81b..bb5d9cf53 100644 --- a/src/mem/ruby/network/simple/Throttle.cc +++ b/src/mem/ruby/network/simple/Throttle.cc @@ -48,7 +48,7 @@ const int PRIORITY_SWITCH_LIMIT = 128; static int network_message_to_size(NetworkMessage* net_msg_ptr); -Throttle::Throttle(int sID, NodeID node, int link_latency, +Throttle::Throttle(int sID, NodeID node, Cycles link_latency, int link_bandwidth_multiplier, int endpoint_bandwidth, ClockedObject *em) : Consumer(em) @@ -57,7 +57,7 @@ Throttle::Throttle(int sID, NodeID node, int link_latency, m_sID = sID; } -Throttle::Throttle(NodeID node, int link_latency, +Throttle::Throttle(NodeID node, Cycles link_latency, int link_bandwidth_multiplier, int endpoint_bandwidth, ClockedObject *em) : Consumer(em) @@ -67,8 +67,8 @@ Throttle::Throttle(NodeID node, int link_latency, } void -Throttle::init(NodeID node, int link_latency, int link_bandwidth_multiplier, - int endpoint_bandwidth) +Throttle::init(NodeID node, Cycles link_latency, + int link_bandwidth_multiplier, int endpoint_bandwidth) { m_node = node; m_vnets = 0; @@ -222,7 +222,7 @@ Throttle::wakeup() // We are out of bandwidth for this cycle, so wakeup next // cycle and continue - scheduleEvent(1); + scheduleEvent(Cycles(1)); } } diff --git a/src/mem/ruby/network/simple/Throttle.hh b/src/mem/ruby/network/simple/Throttle.hh index 077382041..b75161164 100644 --- a/src/mem/ruby/network/simple/Throttle.hh +++ b/src/mem/ruby/network/simple/Throttle.hh @@ -52,10 +52,10 @@ class MessageBuffer; class Throttle : public Consumer { public: - Throttle(int sID, NodeID node, int link_latency, + Throttle(int sID, NodeID node, Cycles link_latency, int link_bandwidth_multiplier, int endpoint_bandwidth, ClockedObject *em); - Throttle(NodeID node, int link_latency, int link_bandwidth_multiplier, + Throttle(NodeID node, Cycles link_latency, int link_bandwidth_multiplier, int endpoint_bandwidth, ClockedObject *em); ~Throttle() {} @@ -70,13 +70,10 @@ class Throttle : public Consumer void clearStats(); // The average utilization (a percent) since last clearStats() double getUtilization() const; - int - getLinkBandwidth() const - { - return m_endpoint_bandwidth * m_link_bandwidth_multiplier; - } - int getLatency() const { return m_link_latency; } + int getLinkBandwidth() const + { return m_endpoint_bandwidth * m_link_bandwidth_multiplier; } + Cycles getLatency() const { return m_link_latency; } const std::vector<std::vector<int> >& getCounters() const { @@ -88,7 +85,7 @@ class Throttle : public Consumer void print(std::ostream& out) const; private: - void init(NodeID node, int link_latency, int link_bandwidth_multiplier, + void init(NodeID node, Cycles link_latency, int link_bandwidth_multiplier, int endpoint_bandwidth); void addVirtualNetwork(MessageBuffer* in_ptr, MessageBuffer* out_ptr, ClockedObject *em); @@ -106,7 +103,7 @@ class Throttle : public Consumer int m_sID; NodeID m_node; int m_link_bandwidth_multiplier; - int m_link_latency; + Cycles m_link_latency; int m_wakeups_wo_switch; int m_endpoint_bandwidth; |