mem: Always use the helper function to invalidate a block

Policies like the LRU need to be notified when a block is invalidated,
the helper function does this along with invalidating the block.

Change-Id: I3ed59cf07938caa7f394ee6054b0af9e00b267ea
Reviewed-by: Andreas Hansson <andreas.hansson@arm.com>
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
This commit is contained in:
Nikos Nikoleris 2017-02-21 14:14:44 +00:00
parent 46b4c40277
commit a063a14905

View file

@ -305,8 +305,7 @@ Cache::access(PacketPtr pkt, CacheBlk *&blk, Cycles &lat,
writebacks.push_back(writebackBlk(old_blk));
else
writebacks.push_back(cleanEvictBlk(old_blk));
tags->invalidate(old_blk);
old_blk->invalidate();
invalidateBlock(old_blk);
}
blk = nullptr;
@ -1127,7 +1126,7 @@ Cache::recvAtomic(PacketPtr pkt)
tempBlockWriteback = (blk->isDirty() || writebackClean) ?
writebackBlk(blk) : cleanEvictBlk(blk);
blk->invalidate();
invalidateBlock(blk);
}
if (pkt->needsResponse()) {
@ -1531,7 +1530,7 @@ Cache::recvTimingResp(PacketPtr pkt)
else
allocateWriteBuffer(wcPkt, forward_time);
}
blk->invalidate();
invalidateBlock(blk);
}
DPRINTF(CacheVerbose, "%s: Leaving with %s\n", __func__, pkt->print());
@ -1660,8 +1659,7 @@ Cache::invalidateVisitor(CacheBlk &blk)
if (blk.isValid()) {
assert(!blk.isDirty());
tags->invalidate(&blk);
blk.invalidate();
invalidateBlock(&blk);
}
return true;