Maryam Babaie has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/36355 )

Change subject: mem-cache, stats: Stats update for snoop filter
......................................................................

mem-cache, stats: Stats update for snoop filter

Change-Id: I339bbc4268d5b9501421a2a6a76e5267422c87aa
Signed-off-by: Maryam Babaie <mbab...@ucdavis.edu>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/36355
Reviewed-by: Bobby R. Bruce <bbr...@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbr...@ucdavis.edu>
Tested-by: kokoro <noreply+kok...@google.com>
---
M src/mem/snoop_filter.cc
M src/mem/snoop_filter.hh
2 files changed, 36 insertions(+), 41 deletions(-)

Approvals:
  Bobby R. Bruce: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/mem/snoop_filter.cc b/src/mem/snoop_filter.cc
index 7ced30c..d799707 100644
--- a/src/mem/snoop_filter.cc
+++ b/src/mem/snoop_filter.cc
@@ -97,12 +97,12 @@
     // updateRequest.
     reqLookupResult.retryItem = sf_item;

-    totRequests++;
+    stats.totRequests++;
     if (is_hit) {
         if (interested.count() == 1)
-            hitSingleRequests++;
+            stats.hitSingleRequests++;
         else
-            hitMultiRequests++;
+            stats.hitMultiRequests++;
     }

     DPRINTF(SnoopFilter, "%s:   SF value %x.%x\n",
@@ -207,12 +207,12 @@

     SnoopMask interested = (sf_item.holder | sf_item.requested);

-    totSnoops++;
+    stats.totSnoops++;

     if (interested.count() == 1)
-        hitSingleSnoops++;
+        stats.hitSingleSnoops++;
     else
-        hitMultiSnoops++;
+        stats.hitMultiSnoops++;

// ReadEx and Writes require both invalidation and exlusivity, while reads // require neither. Writebacks on the other hand require exclusivity but
@@ -387,36 +387,26 @@
             __func__, sf_item.requested, sf_item.holder);
 }

+SnoopFilter::SnoopFilterStats::SnoopFilterStats(Stats::Group *parent):
+Stats::Group(parent),
+ADD_STAT(totRequests,"Total number of requests made to the snoop filter."),
+ADD_STAT(hitSingleRequests,
+ "Number of requests hitting in the snoop filter with a single "\
+              "holder of the requested data."),
+ADD_STAT(hitMultiRequests,
+ "Number of requests hitting in the snoop filter with multiple "\
+              "(>1) holders of the requested data."),
+ADD_STAT(totSnoops,"Total number of snoops made to the snoop filter."),
+ADD_STAT(hitSingleSnoops,
+ "Number of snoops hitting in the snoop filter with a single "\
+              "holder of the requested data."),
+ADD_STAT(hitMultiSnoops,
+ "Number of snoops hitting in the snoop filter with multiple "\
+              "(>1) holders of the requested data.")
+{}
+
 void
 SnoopFilter::regStats()
 {
     SimObject::regStats();
-
-    totRequests
-        .name(name() + ".tot_requests")
-        .desc("Total number of requests made to the snoop filter.");
-
-    hitSingleRequests
-        .name(name() + ".hit_single_requests")
- .desc("Number of requests hitting in the snoop filter with a single "\
-              "holder of the requested data.");
-
-    hitMultiRequests
-        .name(name() + ".hit_multi_requests")
- .desc("Number of requests hitting in the snoop filter with multiple "\
-              "(>1) holders of the requested data.");
-
-    totSnoops
-        .name(name() + ".tot_snoops")
-        .desc("Total number of snoops made to the snoop filter.");
-
-    hitSingleSnoops
-        .name(name() + ".hit_single_snoops")
- .desc("Number of snoops hitting in the snoop filter with a single "\
-              "holder of the requested data.");
-
-    hitMultiSnoops
-        .name(name() + ".hit_multi_snoops")
- .desc("Number of snoops hitting in the snoop filter with multiple "\
-              "(>1) holders of the requested data.");
 }
diff --git a/src/mem/snoop_filter.hh b/src/mem/snoop_filter.hh
index 8150494..abd66a8 100644
--- a/src/mem/snoop_filter.hh
+++ b/src/mem/snoop_filter.hh
@@ -94,7 +94,8 @@
     SnoopFilter (const SnoopFilterParams &p) :
         SimObject(p), reqLookupResult(cachedLocations.end()),
linesize(p.system->cacheLineSize()), lookupLatency(p.lookup_latency),
-        maxEntryCount(p.max_capacity / p.system->cacheLineSize())
+        maxEntryCount(p.max_capacity / p.system->cacheLineSize()),
+        stats(this)
     {
     }

@@ -310,13 +311,17 @@
     };

     /** Statistics */
-    Stats::Scalar totRequests;
-    Stats::Scalar hitSingleRequests;
-    Stats::Scalar hitMultiRequests;
+    struct SnoopFilterStats : public Stats::Group {
+        SnoopFilterStats(Stats::Group *parent);

-    Stats::Scalar totSnoops;
-    Stats::Scalar hitSingleSnoops;
-    Stats::Scalar hitMultiSnoops;
+        Stats::Scalar totRequests;
+        Stats::Scalar hitSingleRequests;
+        Stats::Scalar hitMultiRequests;
+
+        Stats::Scalar totSnoops;
+        Stats::Scalar hitSingleSnoops;
+        Stats::Scalar hitMultiSnoops;
+    } stats;
 };

 inline SnoopFilter::SnoopMask

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/36355
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: I339bbc4268d5b9501421a2a6a76e5267422c87aa
Gerrit-Change-Number: 36355
Gerrit-PatchSet: 8
Gerrit-Owner: Maryam Babaie <mbab...@ucdavis.edu>
Gerrit-Reviewer: Bobby R. Bruce <bbr...@ucdavis.edu>
Gerrit-Reviewer: Mahyar Samani <msam...@ucdavis.edu>
Gerrit-Reviewer: Marjan Fariborz <mfarib...@ucdavis.edu>
Gerrit-Reviewer: Maryam Babaie <mbab...@ucdavis.edu>
Gerrit-Reviewer: Nikos Nikoleris <nikos.nikole...@arm.com>
Gerrit-Reviewer: Trivikram Reddy <tvre...@ucdavis.edu>
Gerrit-Reviewer: kokoro <noreply+kok...@google.com>
Gerrit-CC: Hoa Nguyen <hoangu...@ucdavis.edu>
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