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