summaryrefslogtreecommitdiff
path: root/src/mem/cache/base.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/cache/base.cc')
-rw-r--r--src/mem/cache/base.cc24
1 files changed, 0 insertions, 24 deletions
diff --git a/src/mem/cache/base.cc b/src/mem/cache/base.cc
index 082650c09..0de7f2150 100644
--- a/src/mem/cache/base.cc
+++ b/src/mem/cache/base.cc
@@ -1409,30 +1409,6 @@ BaseCache::handleFill(PacketPtr pkt, CacheBlk *blk, PacketList &writebacks,
chatty_assert(!isReadOnly, "Should never see dirty snoop response "
"in read-only cache %s\n", name());
- } else if (pkt->cmd.isSWPrefetch() && pkt->needsWritable()) {
- // All other copies of the block were invalidated and we
- // have an exclusive copy.
-
- // The coherence protocol assumes that if we fetched an
- // exclusive copy of the block, we have the intention to
- // modify it. Therefore the MSHR for the PrefetchExReq has
- // been the point of ordering and this cache has commited
- // to respond to snoops for the block.
- //
- // In most cases this is true anyway - a PrefetchExReq
- // will be followed by a WriteReq. However, if that
- // doesn't happen, the block is not marked as dirty and
- // the cache doesn't respond to snoops that has committed
- // to do so.
- //
- // To avoid deadlocks in cases where there is a snoop
- // between the PrefetchExReq and the expected WriteReq, we
- // proactively mark the block as Dirty.
-
- blk->status |= BlkDirty;
-
- panic_if(!isReadOnly, "Prefetch exclusive requests from read-only "
- "cache %s\n", name());
}
}