From fbf3987c7b60334bec7aaac848c0d778c0135213 Mon Sep 17 00:00:00 2001 From: Andreas Hansson Date: Mon, 28 Dec 2015 11:14:15 -0500 Subject: [PATCH] mem: Avoid unecessary checks when creating HardPFReq in cache The checks made before sending out a HardPFReq were unecessarily complex, and checked for cases that never occur. This patch tidies it up. --- src/mem/cache/cache.cc | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/src/mem/cache/cache.cc b/src/mem/cache/cache.cc index fb37f524b..489f198c0 100644 --- a/src/mem/cache/cache.cc +++ b/src/mem/cache/cache.cc @@ -2352,22 +2352,13 @@ Cache::getTimingPacket() DPRINTF(Cache, "Block present, prefetch squashed by cache. " "Deallocating mshr target %#x.\n", mshr->blkAddr); - // Deallocate the mshr target - if (!tgt_pkt->isWriteback()) { - if (mshr->queue->forceDeallocateTarget(mshr)) { - // Clear block if this deallocation resulted freed an - // mshr when all had previously been utilized - clearBlocked((BlockedCause)(mshr->queue->index)); - } - return NULL; - } else { - // If this is a Writeback, and the snoops indicate that the blk - // is cached above, set the BLOCK_CACHED flag in the Writeback - // packet, so that it does not reset the bits corresponding to - // this block in the snoop filter below. - tgt_pkt->setBlockCached(); + if (mshr->queue->forceDeallocateTarget(mshr)) { + // Clear block if this deallocation resulted freed an + // mshr when all had previously been utilized + clearBlocked((BlockedCause)(mshr->queue->index)); } + return NULL; } } -- 2.30.2