Nikos Nikoleris has submitted this change and it was merged. ( https://gem5-review.googlesource.com/7163 )

Change subject: mem-ruby: Fix wakeup timeouts for the MOESI_CMP_token protocol
......................................................................

mem-ruby: Fix wakeup timeouts for the MOESI_CMP_token protocol

This changeset fixes a bug that was affecting the MOESI_CMP_token
protocol where setting the next timeout required an absolute tick in
the future.

Change-Id: Ibfdb59354e13c7e552cb3389e71bda010f333249
Reviewed-by: Andreas Sandberg <andreas.sandb...@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/7163
Reviewed-by: Jason Lowe-Power <ja...@lowepower.com>
Maintainer: Jason Lowe-Power <ja...@lowepower.com>
---
M src/mem/protocol/MOESI_CMP_token-dir.sm
1 file changed, 5 insertions(+), 4 deletions(-)

Approvals:
  Jason Lowe-Power: Looks good to me, approved; Looks good to me, approved



diff --git a/src/mem/protocol/MOESI_CMP_token-dir.sm b/src/mem/protocol/MOESI_CMP_token-dir.sm
index 1a749b1..b9b65b5 100644
--- a/src/mem/protocol/MOESI_CMP_token-dir.sm
+++ b/src/mem/protocol/MOESI_CMP_token-dir.sm
@@ -173,6 +173,7 @@
   int l2_select_low_bit, default="RubySystem::getBlockSizeBits()";

   Tick clockEdge();
+  Tick clockEdge(Cycles c);
   Tick cyclesToTicks(Cycles c);
   void set_tbe(TBE b);
   void unset_tbe();
@@ -494,7 +495,7 @@
       // IssueCount.

       // Set a wakeup timer
- reissueTimerTable.set(address, cyclesToTicks(reissue_wakeup_latency));
+      reissueTimerTable.set(address, clockEdge(reissue_wakeup_latency));
     }
   }

@@ -562,7 +563,7 @@
       // IssueCount.

       // Set a wakeup timer
- reissueTimerTable.set(address, cyclesToTicks(reissue_wakeup_latency));
+      reissueTimerTable.set(address, clockEdge(reissue_wakeup_latency));
     }
   }

@@ -808,7 +809,7 @@
     //
     if (reissueTimerTable.isSet(address)) {
       reissueTimerTable.unset(address);
-      reissueTimerTable.set(address, cyclesToTicks(fixed_timeout_latency));
+      reissueTimerTable.set(address, clockEdge(fixed_timeout_latency));
     }
   }

@@ -816,7 +817,7 @@
     //
     // currently only support a fixed timeout latency
     //
-    reissueTimerTable.set(address, cyclesToTicks(fixed_timeout_latency));
+    reissueTimerTable.set(address, clockEdge(fixed_timeout_latency));
   }

   action(ut_unsetReissueTimer, "ut", desc="Unset reissue timer.") {

--
To view, visit https://gem5-review.googlesource.com/7163
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ibfdb59354e13c7e552cb3389e71bda010f333249
Gerrit-Change-Number: 7163
Gerrit-PatchSet: 3
Gerrit-Owner: Nikos Nikoleris <nikos.nikole...@arm.com>
Gerrit-Reviewer: Andreas Sandberg <andreas.sandb...@arm.com>
Gerrit-Reviewer: Jason Lowe-Power <ja...@lowepower.com>
Gerrit-Reviewer: Nikos Nikoleris <nikos.nikole...@arm.com>
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to