summaryrefslogtreecommitdiff
path: root/src/mem/cache/cache.cc
diff options
context:
space:
mode:
authorNikos Nikoleris <nikos.nikoleris@arm.com>2019-02-12 08:26:14 +0000
committerNikos Nikoleris <nikos.nikoleris@arm.com>2019-04-10 09:05:02 +0000
commita8d5dd1c136529e9605066368877d3b8e24dcdba (patch)
treeccf4979676d9a1c0d82689a1dc9757a83c229ed0 /src/mem/cache/cache.cc
parentdaa9dcbc0c3fe4e5014855c8b31f1cfeb5f0af91 (diff)
downloadgem5-a8d5dd1c136529e9605066368877d3b8e24dcdba.tar.xz
mem-cache: Fix MSHR handling of cache clean requests
Previously satisfied clean requests would not snoop in-service MSHRs. This is a problem when a clean request is also invalidating, in which case we have to post-invalidate or post-downgrade outstanding requests. This changes fixes this bug. Change-Id: I31e42aa94dd3637b2818e00fbaae68c810145eaf Signed-off-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17728 Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Diffstat (limited to 'src/mem/cache/cache.cc')
-rw-r--r--src/mem/cache/cache.cc7
1 files changed, 0 insertions, 7 deletions
diff --git a/src/mem/cache/cache.cc b/src/mem/cache/cache.cc
index 89e40f328..938b6f4e9 100644
--- a/src/mem/cache/cache.cc
+++ b/src/mem/cache/cache.cc
@@ -1180,13 +1180,6 @@ Cache::recvTimingSnoopReq(PacketPtr pkt)
return;
}
- // Bypass any existing cache maintenance requests if the request
- // has been satisfied already (i.e., the dirty block has been
- // found).
- if (mshr && pkt->req->isCacheMaintenance() && pkt->satisfied()) {
- return;
- }
-
// Let the MSHR itself track the snoop and decide whether we want
// to go ahead and do the regular cache snoop
if (mshr && mshr->handleSnoop(pkt, order++)) {