diff -r 4833717b9d1e -r df27a0033426 src/mem/cache/base.hh --- a/src/mem/cache/base.hh Tue May 05 16:47:24 2015 +0100 +++ b/src/mem/cache/base.hh Wed May 27 13:50:01 2015 +0100 @@ -404,6 +404,9 @@ /** The number of cache copies performed. */ Stats::Scalar cacheCopies; + /** The number of times a HW-prefetched block is evicted w/o reference. */ + Stats::Scalar unusedPrefetches; + /** Number of blocks written back per thread. */ Stats::Vector writebacks; diff -r 4833717b9d1e -r df27a0033426 src/mem/cache/base.cc --- a/src/mem/cache/base.cc Tue May 05 16:47:24 2015 +0100 +++ b/src/mem/cache/base.cc Wed May 27 13:50:01 2015 +0100 @@ -439,6 +439,11 @@ .desc("number of cache copies performed") ; + unusedPrefetches + .name(name() + ".unused_prefetches") + .desc("number of HardPF blocks evicted w/o reference") + ; + writebacks .init(system->maxMasters()) .name(name() + ".writebacks") diff -r 4833717b9d1e -r df27a0033426 src/mem/cache/cache.cc --- a/src/mem/cache/cache.cc Tue May 05 16:47:24 2015 +0100 +++ b/src/mem/cache/cache.cc Wed May 27 13:50:01 2015 +0100 @@ -1676,6 +1676,9 @@ addr, is_secure ? "s" : "ns", blk->isDirty() ? "writeback" : "clean"); + if (blk->wasPrefetched()) { + unusedPrefetches++; + } // Will send up Writeback/CleanEvict snoops via isCachedAbove // when pushing this writeback list into the write buffer. if (blk->isDirty() || writebackClean) {