Continue snooping after a writeback is encountered.
authorSteve Reinhardt <stever@eecs.umich.edu>
Fri, 27 Jul 2007 00:04:16 +0000 (17:04 -0700)
committerSteve Reinhardt <stever@eecs.umich.edu>
Fri, 27 Jul 2007 00:04:16 +0000 (17:04 -0700)
--HG--
extra : convert_revision : 8411338a6c0fdd7072dd32bdffacdace62d5de90

src/mem/cache/cache_impl.hh

index fa2f45632220a12a2dd890de6d9a6e00b74cb608..6db40b6095c3949a7c930f18dac714470469b0ba 100644 (file)
@@ -1064,7 +1064,13 @@ Cache<TagStore>::snoopTiming(PacketPtr pkt)
                 // Invalidation trumps our writeback... discard here
                 markInService(mshr);
             }
-            return;
+
+            // If this was a shared writeback, there may still be
+            // other shared copies above that require invalidation.
+            // We could be more selective and return here if the
+            // request is non-exclusive or if the writeback is
+            // exclusive.
+            break;
         }
     }