Nathanael Premillieu has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/47599 )

Change subject: mem-cache: move unusedPrefetches stat to prefetcher
......................................................................

mem-cache: move unusedPrefetches stat to prefetcher

This stat belongs to prefetchers.
It has been renamed to pfUnused to match the naming of
exisiting prefetcher stats.

Change-Id: Iec350a62da544535dfc0c2527fcdf73217ae4db7
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/47599
Reviewed-by: Daniel Carvalho <oda...@yahoo.com.br>
Reviewed-by: Nikos Nikoleris <nikos.nikole...@arm.com>
Maintainer: Daniel Carvalho <oda...@yahoo.com.br>
Tested-by: kokoro <noreply+kok...@google.com>
---
M src/mem/cache/base.cc
M src/mem/cache/base.hh
M src/mem/cache/prefetch/base.cc
M src/mem/cache/prefetch/base.hh
4 files changed, 16 insertions(+), 11 deletions(-)

Approvals:
  Nikos Nikoleris: Looks good to me, approved
  Daniel Carvalho: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/mem/cache/base.cc b/src/mem/cache/base.cc
index 236f4e7..649160e 100644
--- a/src/mem/cache/base.cc
+++ b/src/mem/cache/base.cc
@@ -1570,7 +1570,7 @@
 {
     // If block is still marked as prefetched, then it hasn't been used
     if (blk->wasPrefetched()) {
-        stats.unusedPrefetches++;
+        prefetcher->prefetchUnused();
     }

     // Notify that the data contents for this address are no longer present
@@ -2126,9 +2126,8 @@
     ADD_STAT(avgBlocked, statistics::units::Rate<
                 statistics::units::Cycle, statistics::units::Count>::get(),
              "average number of cycles each access was blocked"),
-    ADD_STAT(unusedPrefetches, statistics::units::Count::get(),
-             "number of HardPF blocks evicted w/o reference"),
- ADD_STAT(writebacks, statistics::units::Count::get(), "number of writebacks"),
+    ADD_STAT(writebacks, statistics::units::Count::get(),
+             "number of writebacks"),
     ADD_STAT(demandMshrHits, statistics::units::Count::get(),
              "number of demand (read+write) MSHR hits"),
     ADD_STAT(overallMshrHits, statistics::units::Count::get(),
@@ -2287,8 +2286,6 @@
         ;
     avgBlocked = blockedCycles / blockedCauses;

-    unusedPrefetches.flags(nozero);
-
     writebacks
         .init(max_requestors)
         .flags(total | nozero | nonan)
diff --git a/src/mem/cache/base.hh b/src/mem/cache/base.hh
index 581edf9..2afad5f 100644
--- a/src/mem/cache/base.hh
+++ b/src/mem/cache/base.hh
@@ -1084,10 +1084,6 @@
         /** The average number of cycles blocked for each blocked cause. */
         statistics::Formula avgBlocked;

-        /** The number of times a HW-prefetched block is evicted w/o
-         * reference. */
-        statistics::Scalar unusedPrefetches;
-
         /** Number of blocks written back per thread. */
         statistics::Vector writebacks;

diff --git a/src/mem/cache/prefetch/base.cc b/src/mem/cache/prefetch/base.cc
index b5be0f9..58a7439 100644
--- a/src/mem/cache/prefetch/base.cc
+++ b/src/mem/cache/prefetch/base.cc
@@ -120,8 +120,11 @@
 Base::StatGroup::StatGroup(statistics::Group *parent)
   : statistics::Group(parent),
     ADD_STAT(pfIssued, statistics::units::Count::get(),
-        "number of hwpf issued")
+        "number of hwpf issued"),
+    ADD_STAT(pfUnused, statistics::units::Count::get(),
+             "number of HardPF blocks evicted w/o reference")
 {
+    pfUnused.flags(statistics::nozero);
 }


diff --git a/src/mem/cache/prefetch/base.hh b/src/mem/cache/prefetch/base.hh
index 059f814..b7eef83 100644
--- a/src/mem/cache/prefetch/base.hh
+++ b/src/mem/cache/prefetch/base.hh
@@ -52,6 +52,7 @@
 #include "base/compiler.hh"
 #include "base/statistics.hh"
 #include "base/types.hh"
+#include "mem/cache/cache_blk.hh"
 #include "mem/packet.hh"
 #include "mem/request.hh"
 #include "sim/byteswap.hh"
@@ -328,6 +329,9 @@
     {
         StatGroup(statistics::Group *parent);
         statistics::Scalar pfIssued;
+        /** The number of times a HW-prefetched block is evicted w/o
+         * reference. */
+        statistics::Scalar pfUnused;
     } prefetchStats;

     /** Total prefetches issued */
@@ -358,6 +362,11 @@

     virtual Tick nextPrefetchReadyTime() const = 0;

+    void
+    prefetchUnused()
+    {
+        prefetchStats.pfUnused++;
+    }

     /**
      * Register probe points for this object.

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/47599
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Iec350a62da544535dfc0c2527fcdf73217ae4db7
Gerrit-Change-Number: 47599
Gerrit-PatchSet: 6
Gerrit-Owner: Nathanael Premillieu <nathanael.premill...@huawei.com>
Gerrit-Reviewer: Daniel Carvalho <oda...@yahoo.com.br>
Gerrit-Reviewer: Jason Lowe-Power <power...@gmail.com>
Gerrit-Reviewer: Nathanael Premillieu <nathanael.premill...@huawei.com>
Gerrit-Reviewer: Nikos Nikoleris <nikos.nikole...@arm.com>
Gerrit-Reviewer: kokoro <noreply+kok...@google.com>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to