Don't create a response if one isn't needed.
authorRon Dreslinski <rdreslin@umich.edu>
Mon, 9 Oct 2006 04:27:41 +0000 (00:27 -0400)
committerRon Dreslinski <rdreslin@umich.edu>
Mon, 9 Oct 2006 04:27:41 +0000 (00:27 -0400)
--HG--
extra : convert_revision : 37bd230f527f64eb12779157869aae9dcfdde7fd

src/mem/cache/cache_impl.hh

index 9ce8f515dc305e077fcb65d36e3779349c6d6b28..ac2d7af8bd9b25cdfdcfa9af86b4f647c12365e3 100644 (file)
@@ -620,7 +620,9 @@ Cache<TagStore,Buffering,Coherence>::probe(Packet * &pkt, bool update, CachePort
                 lat = memSidePort->sendAtomic(busPkt);
 
                 //Be sure to flip the response to a request for coherence
-                busPkt->makeAtomicResponse();
+                if (busPkt->needsResponse()) {
+                    busPkt->makeAtomicResponse();
+                }
 
 /*             if (!(busPkt->flags & SATISFIED)) {
                     // blocked at a higher level, just return