Huang Jiasen has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/55083 )

Change subject: mem-cache: Add switch on/off duplicate entries into RMOB
......................................................................

mem-cache: Add switch on/off duplicate entries into RMOB

Change-Id: I394d7c852a439be5315c4755b091c8741e671ea3
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/55083
Reviewed-by: Daniel Carvalho <[email protected]>
Maintainer: Daniel Carvalho <[email protected]>
Tested-by: kokoro <[email protected]>
---
M src/mem/cache/prefetch/spatio_temporal_memory_streaming.cc
M src/mem/cache/prefetch/spatio_temporal_memory_streaming.hh
M src/mem/cache/prefetch/Prefetcher.py
3 files changed, 29 insertions(+), 0 deletions(-)

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




diff --git a/src/mem/cache/prefetch/Prefetcher.py b/src/mem/cache/prefetch/Prefetcher.py
index 7d70488..024004e 100644
--- a/src/mem/cache/prefetch/Prefetcher.py
+++ b/src/mem/cache/prefetch/Prefetcher.py
@@ -488,6 +488,8 @@

     region_miss_order_buffer_entries = Param.Unsigned(131072,
         "Number of entries of the Region Miss Order Buffer")
+    add_duplicate_entries_to_rmob = Param.Bool(True,
+        "Add duplicate entries to RMOB")
     reconstruction_entries = Param.Unsigned(256,
         "Number of reconstruction entries")

diff --git a/src/mem/cache/prefetch/spatio_temporal_memory_streaming.cc b/src/mem/cache/prefetch/spatio_temporal_memory_streaming.cc
index f610288..3c9b9eb 100644
--- a/src/mem/cache/prefetch/spatio_temporal_memory_streaming.cc
+++ b/src/mem/cache/prefetch/spatio_temporal_memory_streaming.cc
@@ -56,6 +56,7 @@
                          ActiveGenerationTableEntry(
                              spatialRegionSize / blkSize)),
     rmob(p.region_miss_order_buffer_entries),
+    addDuplicateEntriesToRMOB(p.add_duplicate_entries_to_rmob),
     lastTriggerCounter(0)
 {
     fatal_if(!isPowerOf2(spatialRegionSize),
@@ -120,6 +121,16 @@
     rmob_entry.pstAddress = pst_addr;
     rmob_entry.delta = delta;

+    if (!addDuplicateEntriesToRMOB) {
+        for (const auto& entry : rmob) {
+            if (entry.srAddress == sr_addr &&
+                entry.pstAddress == pst_addr &&
+                entry.delta == delta) {
+                return;
+            }
+        }
+    }
+
     rmob.push_back(rmob_entry);
 }

diff --git a/src/mem/cache/prefetch/spatio_temporal_memory_streaming.hh b/src/mem/cache/prefetch/spatio_temporal_memory_streaming.hh
index e5914b4..bee746c 100644
--- a/src/mem/cache/prefetch/spatio_temporal_memory_streaming.hh
+++ b/src/mem/cache/prefetch/spatio_temporal_memory_streaming.hh
@@ -175,6 +175,9 @@
     /** Region Miss Order Buffer (RMOB) */
     CircularQueue<RegionMissOrderBufferEntry> rmob;

+    /** Add duplicate entries to RMOB  */
+    bool addDuplicateEntriesToRMOB;
+
     /** Counter to keep the count of accesses between trigger accesses */
     unsigned int lastTriggerCounter;


--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/55083
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: I394d7c852a439be5315c4755b091c8741e671ea3
Gerrit-Change-Number: 55083
Gerrit-PatchSet: 6
Gerrit-Owner: Huang Jiasen <[email protected]>
Gerrit-Reviewer: Daniel Carvalho <[email protected]>
Gerrit-Reviewer: Gabe Black <[email protected]>
Gerrit-Reviewer: Huang Jiasen <[email protected]>
Gerrit-Reviewer: Jason Lowe-Power <[email protected]>
Gerrit-Reviewer: Nikos Nikoleris <[email protected]>
Gerrit-Reviewer: kokoro <[email protected]>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to