mem: Do not include snoop-filter latency in crossbar occupancy
[gem5.git] / src / mem / tport.cc
index 7a0dd7cd9dd6a1be2fa8128f64ca01a3ed62e780..aa783ada020f36d122ce253343568fcdfd8099c9 100644 (file)
@@ -53,7 +53,7 @@ SimpleTimingPort::SimpleTimingPort(const std::string& _name,
 void
 SimpleTimingPort::recvFunctional(PacketPtr pkt)
 {
-    if (!queue.checkFunctional(pkt)) {
+    if (!respQueue.checkFunctional(pkt)) {
         // do an atomic access and throw away the returned latency
         recvAtomic(pkt);
     }
@@ -68,12 +68,10 @@ SimpleTimingPort::recvTimingReq(PacketPtr pkt)
         delete pendingDelete[x];
     pendingDelete.clear();
 
-    if (pkt->memInhibitAsserted()) {
-        // snooper will supply based on copy of packet
-        // still target's responsibility to delete packet
-        delete pkt;
-        return true;
-    }
+    // the SimpleTimingPort should not be used anywhere where there is
+    // a need to deal with inhibited packets
+    if (pkt->memInhibitAsserted())
+        panic("SimpleTimingPort should never see an inhibited request\n");
 
     bool needsResponse = pkt->needsResponse();
     Tick latency = recvAtomic(pkt);