Davide Basilio Bartolini has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/56729 )
Change subject: mem: fix hardware prefetchers for mostly_excl caches
......................................................................
mem: fix hardware prefetchers for mostly_excl caches
Change-Id: I87e20fb5d6e238caef7c0f8a49fd7dd691f60cb4
---
M src/mem/cache/base.cc
M src/mem/packet.hh
2 files changed, 33 insertions(+), 1 deletion(-)
diff --git a/src/mem/cache/base.cc b/src/mem/cache/base.cc
index f97c30a..5a89898 100644
--- a/src/mem/cache/base.cc
+++ b/src/mem/cache/base.cc
@@ -388,6 +388,11 @@
blk->clearPrefetched();
}
+ if (pkt->needsDelayedClusivityMaintenance()) {
+ maintainClusivity(pkt->fromCache(), blk);
+ pkt->clearDelayedClusivityMaintenance();
+ }
+
handleTimingReqHit(pkt, blk, request_time);
} else {
handleTimingReqMiss(pkt, blk, forward_time, request_time);
@@ -1398,7 +1403,7 @@
}
satisfyRequest(pkt, blk);
- maintainClusivity(pkt->fromCache(), blk);
+ pkt->setDelayedClusivityMaintenance();
return true;
}
diff --git a/src/mem/packet.hh b/src/mem/packet.hh
index 88995f1..9ccd018 100644
--- a/src/mem/packet.hh
+++ b/src/mem/packet.hh
@@ -408,8 +408,26 @@
*/
uint64_t htmTransactionUid;
+ /**
+ * Flag to be set for delayed clusivity maintenance.
+ * See: https://gem5.atlassian.net/browse/GEM5-1188
+ */
+ bool clusivityMaintenanceFlag = false;
+
public:
+ bool needsDelayedClusivityMaintenance() {
+ return clusivityMaintenanceFlag;
+ }
+
+ void setDelayedClusivityMaintenance() {
+ clusivityMaintenanceFlag = true;
+ }
+
+ void clearDelayedClusivityMaintenance() {
+ clusivityMaintenanceFlag = false;
+ }
+
/**
* The extra delay from seeing the packet until the header is
* transmitted. This delay is used to communicate the crossbar
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/56729
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: I87e20fb5d6e238caef7c0f8a49fd7dd691f60cb4
Gerrit-Change-Number: 56729
Gerrit-PatchSet: 1
Gerrit-Owner: Davide Basilio Bartolini <davide.basilio.bartol...@huawei.com>
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