[gem5-dev] Change in gem5/gem5[develop]: mem-cache: move unusedPrefetches stat to prefetcher

2021-07-09 Thread Nathanael Premillieu (Gerrit) via gem5-dev
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 
Reviewed-by: Nikos Nikoleris 
Maintainer: Daniel Carvalho 
Tested-by: kokoro 
---
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 
Gerrit-Reviewer: Daniel Carvalho 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: Nathanael Premillieu 
Gerrit-Reviewer: Nikos Nikoleris 
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: merged

[gem5-dev] Change in gem5/gem5[develop]: mem-cache: move unusedPrefetches stat to prefetcher

2021-07-05 Thread Nathanael Premillieu (Gerrit) via gem5-dev
Nathanael Premillieu has uploaded this change for review. (  
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
---
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, 17 insertions(+), 11 deletions(-)



diff --git a/src/mem/cache/base.cc b/src/mem/cache/base.cc
index 61396f0..2f145be 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(blk);
 }

 // 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..a4c3b97 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,12 @@

 virtual Tick nextPrefetchReadyTime() const = 0;

+virtual void
+prefetchUnused(CacheBlk * blk)
+{
+assert(blk->wasPrefetched());
+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: 1
Gerrit-Owner: Nathanael Premillieu 
Gerrit-MessageType: newchange
___
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