Daniel Carvalho has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/38115 )

Change subject: mem-cache: Change invalidate signature to not const
......................................................................

mem-cache: Change invalidate signature to not const

Allow the replacement policy to be modified when an entry is
invalidated.

Change-Id: I7f5086795dbb93a6fab2b4994c757d509d782d79
Signed-off-by: Daniel R. Carvalho <[email protected]>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/38115
Tested-by: kokoro <[email protected]>
Reviewed-by: Nikos Nikoleris <[email protected]>
Maintainer: Nikos Nikoleris <[email protected]>
---
M src/mem/cache/replacement_policies/base.hh
M src/mem/cache/replacement_policies/brrip_rp.cc
M src/mem/cache/replacement_policies/brrip_rp.hh
M src/mem/cache/replacement_policies/dueling_rp.cc
M src/mem/cache/replacement_policies/dueling_rp.hh
M src/mem/cache/replacement_policies/fifo_rp.cc
M src/mem/cache/replacement_policies/fifo_rp.hh
M src/mem/cache/replacement_policies/lfu_rp.cc
M src/mem/cache/replacement_policies/lfu_rp.hh
M src/mem/cache/replacement_policies/lru_rp.cc
M src/mem/cache/replacement_policies/lru_rp.hh
M src/mem/cache/replacement_policies/mru_rp.cc
M src/mem/cache/replacement_policies/mru_rp.hh
M src/mem/cache/replacement_policies/random_rp.cc
M src/mem/cache/replacement_policies/random_rp.hh
M src/mem/cache/replacement_policies/second_chance_rp.cc
M src/mem/cache/replacement_policies/second_chance_rp.hh
M src/mem/cache/replacement_policies/tree_plru_rp.cc
M src/mem/cache/replacement_policies/tree_plru_rp.hh
M src/mem/cache/replacement_policies/weighted_lru_rp.cc
M src/mem/cache/replacement_policies/weighted_lru_rp.hh
21 files changed, 17 insertions(+), 24 deletions(-)

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



diff --git a/src/mem/cache/replacement_policies/base.hh b/src/mem/cache/replacement_policies/base.hh
index 1d6b221..0393629 100644
--- a/src/mem/cache/replacement_policies/base.hh
+++ b/src/mem/cache/replacement_policies/base.hh
@@ -61,7 +61,7 @@
      * @param replacement_data Replacement data to be invalidated.
      */
     virtual void invalidate(const std::shared_ptr<ReplacementData>&
- replacement_data) const = 0;
+        replacement_data) = 0;

     /**
      * Update replacement data.
diff --git a/src/mem/cache/replacement_policies/brrip_rp.cc b/src/mem/cache/replacement_policies/brrip_rp.cc
index 2e62510..d735a5a 100644
--- a/src/mem/cache/replacement_policies/brrip_rp.cc
+++ b/src/mem/cache/replacement_policies/brrip_rp.cc
@@ -48,7 +48,6 @@

 void
 BRRIP::invalidate(const std::shared_ptr<ReplacementData>& replacement_data)
-const
 {
     std::shared_ptr<BRRIPReplData> casted_replacement_data =
         std::static_pointer_cast<BRRIPReplData>(replacement_data);
diff --git a/src/mem/cache/replacement_policies/brrip_rp.hh b/src/mem/cache/replacement_policies/brrip_rp.hh
index e3371bf..7a32adb 100644
--- a/src/mem/cache/replacement_policies/brrip_rp.hh
+++ b/src/mem/cache/replacement_policies/brrip_rp.hh
@@ -121,7 +121,7 @@
      * @param replacement_data Replacement data to be invalidated.
      */
void invalidate(const std::shared_ptr<ReplacementData>& replacement_data) - const override; + override;

     /**
      * Touch an entry to update its replacement data.
diff --git a/src/mem/cache/replacement_policies/dueling_rp.cc b/src/mem/cache/replacement_policies/dueling_rp.cc
index fc717a3..e691141 100644
--- a/src/mem/cache/replacement_policies/dueling_rp.cc
+++ b/src/mem/cache/replacement_policies/dueling_rp.cc
@@ -45,8 +45,7 @@
 }

 void
-Dueling::invalidate(
-    const std::shared_ptr<ReplacementData>& replacement_data) const
+Dueling::invalidate(const std::shared_ptr<ReplacementData>& replacement_data)
 {
     std::shared_ptr<DuelerReplData> casted_replacement_data =
         std::static_pointer_cast<DuelerReplData>(replacement_data);
diff --git a/src/mem/cache/replacement_policies/dueling_rp.hh b/src/mem/cache/replacement_policies/dueling_rp.hh
index 23b4378..0c96ca7 100644
--- a/src/mem/cache/replacement_policies/dueling_rp.hh
+++ b/src/mem/cache/replacement_policies/dueling_rp.hh
@@ -96,7 +96,7 @@
     ~Dueling() = default;

void invalidate(const std::shared_ptr<ReplacementData>& replacement_data) - const override; + override; void touch(const std::shared_ptr<ReplacementData>& replacement_data) const override; void reset(const std::shared_ptr<ReplacementData>& replacement_data) const diff --git a/src/mem/cache/replacement_policies/fifo_rp.cc b/src/mem/cache/replacement_policies/fifo_rp.cc
index 0bb42d0..69cad9b 100644
--- a/src/mem/cache/replacement_policies/fifo_rp.cc
+++ b/src/mem/cache/replacement_policies/fifo_rp.cc
@@ -45,7 +45,6 @@

 void
 FIFO::invalidate(const std::shared_ptr<ReplacementData>& replacement_data)
-const
 {
     // Reset insertion tick
     std::static_pointer_cast<FIFOReplData>(
diff --git a/src/mem/cache/replacement_policies/fifo_rp.hh b/src/mem/cache/replacement_policies/fifo_rp.hh
index a8c7d41..8b895dd 100644
--- a/src/mem/cache/replacement_policies/fifo_rp.hh
+++ b/src/mem/cache/replacement_policies/fifo_rp.hh
@@ -72,7 +72,7 @@
      * @param replacement_data Replacement data to be invalidated.
      */
void invalidate(const std::shared_ptr<ReplacementData>& replacement_data) - const override; + override;

     /**
      * Touch an entry to update its replacement data.
diff --git a/src/mem/cache/replacement_policies/lfu_rp.cc b/src/mem/cache/replacement_policies/lfu_rp.cc
index b5be8c7..fa6516c 100644
--- a/src/mem/cache/replacement_policies/lfu_rp.cc
+++ b/src/mem/cache/replacement_policies/lfu_rp.cc
@@ -44,7 +44,6 @@

 void
 LFU::invalidate(const std::shared_ptr<ReplacementData>& replacement_data)
-const
 {
     // Reset reference count
     std::static_pointer_cast<LFUReplData>(replacement_data)->refCount = 0;
diff --git a/src/mem/cache/replacement_policies/lfu_rp.hh b/src/mem/cache/replacement_policies/lfu_rp.hh
index 92d5964..0259764 100644
--- a/src/mem/cache/replacement_policies/lfu_rp.hh
+++ b/src/mem/cache/replacement_policies/lfu_rp.hh
@@ -72,7 +72,7 @@
      * @param replacement_data Replacement data to be invalidated.
      */
void invalidate(const std::shared_ptr<ReplacementData>& replacement_data) - const override; + override;

     /**
      * Touch an entry to update its replacement data.
diff --git a/src/mem/cache/replacement_policies/lru_rp.cc b/src/mem/cache/replacement_policies/lru_rp.cc
index 473505c..3b4be86 100644
--- a/src/mem/cache/replacement_policies/lru_rp.cc
+++ b/src/mem/cache/replacement_policies/lru_rp.cc
@@ -45,7 +45,6 @@

 void
 LRU::invalidate(const std::shared_ptr<ReplacementData>& replacement_data)
-const
 {
     // Reset last touch timestamp
     std::static_pointer_cast<LRUReplData>(
diff --git a/src/mem/cache/replacement_policies/lru_rp.hh b/src/mem/cache/replacement_policies/lru_rp.hh
index d536045..2184406 100644
--- a/src/mem/cache/replacement_policies/lru_rp.hh
+++ b/src/mem/cache/replacement_policies/lru_rp.hh
@@ -70,7 +70,7 @@
      * @param replacement_data Replacement data to be invalidated.
      */
void invalidate(const std::shared_ptr<ReplacementData>& replacement_data) - const override; + override;

     /**
      * Touch an entry to update its replacement data.
diff --git a/src/mem/cache/replacement_policies/mru_rp.cc b/src/mem/cache/replacement_policies/mru_rp.cc
index d2016fb..db5a191 100644
--- a/src/mem/cache/replacement_policies/mru_rp.cc
+++ b/src/mem/cache/replacement_policies/mru_rp.cc
@@ -45,7 +45,6 @@

 void
 MRU::invalidate(const std::shared_ptr<ReplacementData>& replacement_data)
-const
 {
     // Reset last touch timestamp
     std::static_pointer_cast<MRUReplData>(
diff --git a/src/mem/cache/replacement_policies/mru_rp.hh b/src/mem/cache/replacement_policies/mru_rp.hh
index a92ac89..0e3f5bc 100644
--- a/src/mem/cache/replacement_policies/mru_rp.hh
+++ b/src/mem/cache/replacement_policies/mru_rp.hh
@@ -72,7 +72,7 @@
      * @param replacement_data Replacement data to be invalidated.
      */
void invalidate(const std::shared_ptr<ReplacementData>& replacement_data) - const override; + override;

     /**
      * Touch an entry to update its replacement data.
diff --git a/src/mem/cache/replacement_policies/random_rp.cc b/src/mem/cache/replacement_policies/random_rp.cc
index f0eac2c..e21e991 100644
--- a/src/mem/cache/replacement_policies/random_rp.cc
+++ b/src/mem/cache/replacement_policies/random_rp.cc
@@ -45,7 +45,6 @@

 void
Random::invalidate(const std::shared_ptr<ReplacementData>& replacement_data)
-const
 {
     // Unprioritize replacement data victimization
     std::static_pointer_cast<RandomReplData>(
diff --git a/src/mem/cache/replacement_policies/random_rp.hh b/src/mem/cache/replacement_policies/random_rp.hh
index 46e1014..bd593eb 100644
--- a/src/mem/cache/replacement_policies/random_rp.hh
+++ b/src/mem/cache/replacement_policies/random_rp.hh
@@ -73,7 +73,7 @@
      * @param replacement_data Replacement data to be invalidated.
      */
void invalidate(const std::shared_ptr<ReplacementData>& replacement_data) - const override; + override;

     /**
      * Touch an entry to update its replacement data.
diff --git a/src/mem/cache/replacement_policies/second_chance_rp.cc b/src/mem/cache/replacement_policies/second_chance_rp.cc
index c07a600..af872cf 100644
--- a/src/mem/cache/replacement_policies/second_chance_rp.cc
+++ b/src/mem/cache/replacement_policies/second_chance_rp.cc
@@ -54,7 +54,7 @@

 void
 SecondChance::invalidate(
-    const std::shared_ptr<ReplacementData>& replacement_data) const
+    const std::shared_ptr<ReplacementData>& replacement_data)
 {
     FIFO::invalidate(replacement_data);

diff --git a/src/mem/cache/replacement_policies/second_chance_rp.hh b/src/mem/cache/replacement_policies/second_chance_rp.hh
index ba8085e..651bb16 100644
--- a/src/mem/cache/replacement_policies/second_chance_rp.hh
+++ b/src/mem/cache/replacement_policies/second_chance_rp.hh
@@ -87,7 +87,7 @@
      * @param replacement_data Replacement data to be invalidated.
      */
void invalidate(const std::shared_ptr<ReplacementData>& replacement_data) - const override; + override;

     /**
* Touch an entry to update its re-insertion tick and second chance bit. diff --git a/src/mem/cache/replacement_policies/tree_plru_rp.cc b/src/mem/cache/replacement_policies/tree_plru_rp.cc
index 834d443..9d4a96d 100644
--- a/src/mem/cache/replacement_policies/tree_plru_rp.cc
+++ b/src/mem/cache/replacement_policies/tree_plru_rp.cc
@@ -107,8 +107,7 @@
 }

 void
-TreePLRU::invalidate(
-    const std::shared_ptr<ReplacementData>& replacement_data) const
+TreePLRU::invalidate(const std::shared_ptr<ReplacementData>& replacement_data)
 {
     // Cast replacement data
     std::shared_ptr<TreePLRUReplData> treePLRU_replacement_data =
diff --git a/src/mem/cache/replacement_policies/tree_plru_rp.hh b/src/mem/cache/replacement_policies/tree_plru_rp.hh
index e1004a2..0e1cf53 100644
--- a/src/mem/cache/replacement_policies/tree_plru_rp.hh
+++ b/src/mem/cache/replacement_policies/tree_plru_rp.hh
@@ -164,7 +164,7 @@
      * @param replacement_data Replacement data to be invalidated.
      */
void invalidate(const std::shared_ptr<ReplacementData>& replacement_data) - const override; + override;

     /**
      * Touch an entry to update its replacement data.
diff --git a/src/mem/cache/replacement_policies/weighted_lru_rp.cc b/src/mem/cache/replacement_policies/weighted_lru_rp.cc
index cf9120c..3900014 100644
--- a/src/mem/cache/replacement_policies/weighted_lru_rp.cc
+++ b/src/mem/cache/replacement_policies/weighted_lru_rp.cc
@@ -115,8 +115,8 @@
 }

 void
-WeightedLRU::invalidate(const std::shared_ptr<ReplacementData>&
-                                                    replacement_data) const
+WeightedLRU::invalidate(
+    const std::shared_ptr<ReplacementData>& replacement_data)
 {
     // Reset last touch timestamp
     std::static_pointer_cast<WeightedLRUReplData>(
diff --git a/src/mem/cache/replacement_policies/weighted_lru_rp.hh b/src/mem/cache/replacement_policies/weighted_lru_rp.hh
index 285ce3b..82b31d9 100644
--- a/src/mem/cache/replacement_policies/weighted_lru_rp.hh
+++ b/src/mem/cache/replacement_policies/weighted_lru_rp.hh
@@ -75,7 +75,8 @@
      * @param replacement_data Replacement data to be invalidated.
      */
void invalidate(const std::shared_ptr<ReplacementData>& replacement_data) - const override; + override;
+
     /**
      * Touch an entry to update its replacement data.
      * Sets its last touch tick as the current tick.



4 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/38115
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: I7f5086795dbb93a6fab2b4994c757d509d782d79
Gerrit-Change-Number: 38115
Gerrit-PatchSet: 7
Gerrit-Owner: Daniel Carvalho <[email protected]>
Gerrit-Reviewer: Daniel Carvalho <[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