From f1b5c8fb57ee656df3a1b9d021de723279f66b2f Mon Sep 17 00:00:00 2001 From: Steve Reinhardt Date: Thu, 26 Jul 2007 17:04:16 -0700 Subject: Continue snooping after a writeback is encountered. --HG-- extra : convert_revision : 8411338a6c0fdd7072dd32bdffacdace62d5de90 --- src/mem/cache/cache_impl.hh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/mem/cache/cache_impl.hh') diff --git a/src/mem/cache/cache_impl.hh b/src/mem/cache/cache_impl.hh index fa2f45632..6db40b609 100644 --- a/src/mem/cache/cache_impl.hh +++ b/src/mem/cache/cache_impl.hh @@ -1064,7 +1064,13 @@ Cache::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; } } -- cgit v1.2.3