diff options
Diffstat (limited to 'src/mem/cache/cache_impl.hh')
-rw-r--r-- | src/mem/cache/cache_impl.hh | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/mem/cache/cache_impl.hh b/src/mem/cache/cache_impl.hh index e9a40a741..b29d52f78 100644 --- a/src/mem/cache/cache_impl.hh +++ b/src/mem/cache/cache_impl.hh @@ -514,18 +514,18 @@ Cache<TagStore>::timingAccess(PacketPtr pkt) bool needsResponse = pkt->needsResponse(); if (satisfied) { + if (prefetcher && (prefetchOnAccess || (blk && blk->wasPrefetched()))) { + if (blk) + blk->status &= ~BlkHWPrefetched; + next_pf_time = prefetcher->notify(pkt, time); + } + if (needsResponse) { pkt->makeTimingResponse(); cpuSidePort->respond(pkt, curTick()+lat); } else { delete pkt; } - - if (prefetcher && (prefetchOnAccess || (blk && blk->wasPrefetched()))) { - if (blk) - blk->status &= ~BlkHWPrefetched; - next_pf_time = prefetcher->notify(pkt, time); - } } else { // miss |