summaryrefslogtreecommitdiff
path: root/src/mem/cache/tags/base.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/cache/tags/base.cc')
-rw-r--r--src/mem/cache/tags/base.cc15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/mem/cache/tags/base.cc b/src/mem/cache/tags/base.cc
index 75d117e9c..0087de818 100644
--- a/src/mem/cache/tags/base.cc
+++ b/src/mem/cache/tags/base.cc
@@ -78,14 +78,6 @@ BaseTags::insertBlock(PacketPtr pkt, CacheBlk *blk)
// Get address
Addr addr = pkt->getAddr();
- // Update warmup data
- if (!blk->isTouched) {
- if (!warmedUp && tagsInUse.value() >= warmupBound) {
- warmedUp = true;
- warmupCycle = curTick();
- }
- }
-
// If we're replacing a block that was previously valid update
// stats for it. This can't be done in findBlock() because a
// found block might not actually be replaced there if the
@@ -100,7 +92,6 @@ BaseTags::insertBlock(PacketPtr pkt, CacheBlk *blk)
// Previous block, if existed, has been removed, and now we have
// to insert the new one
- tagsInUse++;
// Deal with what we are bringing in
MasterID master_id = pkt->req->masterId();
@@ -111,6 +102,12 @@ BaseTags::insertBlock(PacketPtr pkt, CacheBlk *blk)
blk->insert(extractTag(addr), pkt->isSecure(), master_id,
pkt->req->taskId());
+ tagsInUse++;
+ if (!warmedUp && tagsInUse.value() >= warmupBound) {
+ warmedUp = true;
+ warmupCycle = curTick();
+ }
+
// We only need to write into one tag and one data block.
tagAccesses += 1;
dataAccesses += 1;