ruby: Replace Time with Cycles in SequencerMessage
[gem5.git] / src / mem / packet_queue.cc
index 8030cb38f342be2754baa48d9d5e14d83d6bb6f8..e60e77453b4c1e99292eb18af308d9e797cd6c2b 100644 (file)
@@ -113,6 +113,13 @@ PacketQueue::schedSendTiming(PacketPtr pkt, Tick when, bool send_as_snoop)
     // express snoops should never be queued
     assert(!pkt->isExpressSnoop());
 
+    // add a very basic sanity check on the port to ensure the
+    // invisible buffer is not growing beyond reasonable limits
+    if (transmitList.size() > 100) {
+        panic("Packet queue %s has grown beyond 100 packets\n",
+              name());
+    }
+
     // nothing on the list, or earlier than current front element,
     // schedule an event
     if (transmitList.empty() || when < transmitList.front().tick) {