From: Tiago Mück Date: Thu, 1 Oct 2020 21:45:56 +0000 (-0500) Subject: mem-ruby: fix Sequencer latency reporting X-Git-Tag: develop-gem5-snapshot~90 X-Git-Url: https://git.libre-soc.org/?p=gem5.git;a=commitdiff_plain;h=1861bc39ea460f5509367919b000c1c492c4d184 mem-ruby: fix Sequencer latency reporting Most protocols won't set initialRequestTime, forwardRequestTime, and firstResponseTime, thus leading to calculated latency being always 0. Change-Id: Id2c73314a964bf6efb262d40b3df515373023b84 Signed-off-by: Tiago Mück Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/41114 Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power Tested-by: kokoro --- diff --git a/src/mem/ruby/system/Sequencer.cc b/src/mem/ruby/system/Sequencer.cc index ab8367777..49c03519a 100644 --- a/src/mem/ruby/system/Sequencer.cc +++ b/src/mem/ruby/system/Sequencer.cc @@ -334,7 +334,7 @@ Sequencer::recordMissLatency(SequencerRequest* srequest, bool llscSuccess, assert(curCycle() >= issued_time); Cycles total_lat = completion_time - issued_time; - if (initialRequestTime < issued_time) { + if ((initialRequestTime != 0) && (initialRequestTime < issued_time)) { // if the request was combined in the protocol with an earlier request // for the same address, it is possible that it will return an // initialRequestTime corresponding the earlier request. Since Cycles