summaryrefslogtreecommitdiff
path: root/src/mem/ruby/network/garnet2.0/NetworkInterface.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/ruby/network/garnet2.0/NetworkInterface.hh')
-rw-r--r--src/mem/ruby/network/garnet2.0/NetworkInterface.hh3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mem/ruby/network/garnet2.0/NetworkInterface.hh b/src/mem/ruby/network/garnet2.0/NetworkInterface.hh
index 85e0145af..f1d1fd505 100644
--- a/src/mem/ruby/network/garnet2.0/NetworkInterface.hh
+++ b/src/mem/ruby/network/garnet2.0/NetworkInterface.hh
@@ -83,6 +83,7 @@ class NetworkInterface : public ClockedObject, public Consumer
int m_vc_round_robin; // For round robin scheduling
flitBuffer *outFlitQueue; // For modeling link contention
flitBuffer *outCreditQueue;
+ int m_deadlock_threshold;
NetworkLink *inNetLink;
NetworkLink *outNetLink;
@@ -98,6 +99,8 @@ class NetworkInterface : public ClockedObject, public Consumer
std::vector<MessageBuffer *> inNode_ptr;
// The Message buffers that provides messages to the protocol
std::vector<MessageBuffer *> outNode_ptr;
+ // When a vc stays busy for a long time, it indicates a deadlock
+ std::vector<int> vc_busy_counter;
bool flitisizeMessage(MsgPtr msg_ptr, int vnet);
int calculateVC(int vnet);