changeset 7982e539d003 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=7982e539d003
description:
        mem: Hide WriteInvalidate requests from prefetchers

        Without this tweak, a prefetcher will happily prefetch data that will
        promptly be invalidated and overwritten by a WriteInvalidate.

diffstat:

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

diffs (21 lines):

diff -r 00965520c9f5 -r 7982e539d003 src/mem/cache/prefetch/base.cc
--- a/src/mem/cache/prefetch/base.cc    Tue Dec 23 09:31:18 2014 -0500
+++ b/src/mem/cache/prefetch/base.cc    Tue Dec 23 09:31:19 2014 -0500
@@ -83,7 +83,8 @@
 {
     Addr addr = pkt->getAddr();
     bool fetch = pkt->req->isInstFetch();
-    bool read= pkt->isRead();
+    bool read = pkt->isRead();
+    bool inv = pkt->isInvalidate();
     bool is_secure = pkt->isSecure();
 
     if (pkt->req->isUncacheable()) return false;
@@ -91,6 +92,7 @@
     if (!fetch && !onData) return false;
     if (!fetch && read && !onRead) return false;
     if (!fetch && !read && !onWrite) return false;
+    if (!fetch && !read && inv) return false;
 
     if (onMiss) {
         return !inCache(addr, is_secure) &&
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to