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