bus: take out response prioritization (timing was messed up).
authorSteve Reinhardt <stever@eecs.umich.edu>
Sun, 29 Jul 2007 20:24:48 +0000 (13:24 -0700)
committerSteve Reinhardt <stever@eecs.umich.edu>
Sun, 29 Jul 2007 20:24:48 +0000 (13:24 -0700)
Also make express snoops not occupy bus (since they're magic).

--HG--
extra : convert_revision : 75aa5211a59380026d1e3f122778425e48e2edcd

src/mem/bus.cc

index 518c9dbfa2f25b2f7e9a776a5fb680d443f87876..cb359734b515d3422ba6f9038649d9be3bc3440d 100644 (file)
@@ -180,7 +180,7 @@ Bus::recvTiming(PacketPtr pkt)
 
     // If the bus is busy, or other devices are in line ahead of the current
     // one, put this device on the retry list.
-    if (!(pkt->isResponse() || pkt->isExpressSnoop()) &&
+    if (!pkt->isExpressSnoop() &&
         (tickNextIdle > curTick ||
          (retryList.size() && (!inRetry || src_port != retryList.front()))))
     {
@@ -189,7 +189,9 @@ Bus::recvTiming(PacketPtr pkt)
         return false;
     }
 
-    occupyBus(pkt);
+    if (!pkt->isExpressSnoop()) {
+        occupyBus(pkt);
+    }
 
     short dest = pkt->getDest();
     int dest_port_id;