From: Ali Saidi Date: Fri, 29 Jun 2012 15:18:29 +0000 (-0400) Subject: Cache: Only invalidate a line in the cache when an uncacheable write is seen. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8d1e56bdcd673fd3b1ddfd9ac82f7c1ded3110c4;p=gem5.git Cache: Only invalidate a line in the cache when an uncacheable write is seen. --- diff --git a/src/mem/cache/cache_impl.hh b/src/mem/cache/cache_impl.hh index fec0a6222..2329b2ea6 100644 --- a/src/mem/cache/cache_impl.hh +++ b/src/mem/cache/cache_impl.hh @@ -275,7 +275,7 @@ Cache::access(PacketPtr pkt, BlkType *&blk, if (pkt->req->isUncacheable()) { if (pkt->req->isClearLL()) { tags->clearLocks(); - } else { + } else if (pkt->isWrite()) { blk = tags->findBlock(pkt->getAddr()); if (blk != NULL) { tags->invalidateBlk(blk); @@ -439,7 +439,7 @@ Cache::timingAccess(PacketPtr pkt) if (pkt->req->isUncacheable()) { if (pkt->req->isClearLL()) { tags->clearLocks(); - } else { + } else if (pkt->isWrite()) { BlkType *blk = tags->findBlock(pkt->getAddr()); if (blk != NULL) { tags->invalidateBlk(blk);