changeset 4e195fb9ec4f in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=4e195fb9ec4f
description:
        mem: Ensure that InvalidateReq is not forwarded as ReadExReq

        This patch fixes an issue where an InvalidationReq only traversed one
        level of the cache hierarchy, and was subsequently turned into a
        ReadExReq due to it needing writable, and the command not being
        checked for explicitly.

diffstat:

 src/mem/cache/cache.cc |  3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diffs (13 lines):

diff -r bfc1285c61eb -r 4e195fb9ec4f src/mem/cache/cache.cc
--- a/src/mem/cache/cache.cc    Wed Feb 24 04:16:55 2016 -0500
+++ b/src/mem/cache/cache.cc    Wed Feb 24 04:16:57 2016 -0500
@@ -966,7 +966,8 @@
         // where the determination the StoreCond fails is delayed due to
         // all caches not being on the same local bus.
         cmd = MemCmd::SCUpgradeFailReq;
-    } else if (cpu_pkt->cmd == MemCmd::WriteLineReq) {
+    } else if (cpu_pkt->cmd == MemCmd::WriteLineReq ||
+               cpu_pkt->cmd == MemCmd::InvalidateReq) {
         // forward as invalidate to all other caches, this gives us
         // the line in Exclusive state, and invalidates all other
         // copies
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to