Get rid of bogus cache assertion.
authorSteve Reinhardt <stever@gmail.com>
Fri, 13 Jun 2008 05:29:20 +0000 (01:29 -0400)
committerSteve Reinhardt <stever@gmail.com>
Fri, 13 Jun 2008 05:29:20 +0000 (01:29 -0400)
I was asserting that the only reason you would defer targets is if
a write came in while you had an outstanding read miss, but there's
another case where you could get a read access after you've snooped
an invalidation and buffered it because it applies to a prior
outstanding miss.

src/mem/cache/cache_impl.hh

index 7bab3012b5bdb1a6059bb5e0af4d0f82aa615042..3b56c0a2e3967438cd569e1aa64975b9c3c3e130 100644 (file)
@@ -823,7 +823,6 @@ Cache<TagStore>::handleResponse(PacketPtr pkt)
     }
 
     if (mshr->promoteDeferredTargets()) {
-        assert(mshr->needsExclusive() && !blk->isWritable());
         // avoid later read getting stale data while write miss is
         // outstanding.. see comment in timingAccess()
         blk->status &= ~BlkReadable;