summaryrefslogtreecommitdiff
path: root/src/mem/cache/cache_blk.hh
diff options
context:
space:
mode:
authorDaniel R. Carvalho <odanrc@yahoo.com.br>2019-08-13 00:15:37 +0200
committerDaniel Carvalho <odanrc@yahoo.com.br>2019-10-01 06:19:38 +0000
commit791d7f4f416ac7469626fcf10fab1b1aa9183cf9 (patch)
tree4ab80b143d05074b58df8a54c2b895db71f4e8a5 /src/mem/cache/cache_blk.hh
parent34f850f80316201379d888bd72791be93aa5d06f (diff)
downloadgem5-791d7f4f416ac7469626fcf10fab1b1aa9183cf9.tar.xz
mem-cache: Fix invalid whenReady
When a writeback needs to be allocated the whenReady field of the block is not set, and therefore its access latency calculation uses the previously invalidated value (MaxTick), significantly delaying execution. This is fixed by assuming that the data write portion of a write access is done regardless of previous writes, and that only the tag latency is important for the critical path latency calculation. Change-Id: I739132a2deab6eb4c46d084f4ee6dd65177873fd Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/20068 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
Diffstat (limited to 'src/mem/cache/cache_blk.hh')
-rw-r--r--src/mem/cache/cache_blk.hh1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/mem/cache/cache_blk.hh b/src/mem/cache/cache_blk.hh
index ddcf3ecb6..dce0ce434 100644
--- a/src/mem/cache/cache_blk.hh
+++ b/src/mem/cache/cache_blk.hh
@@ -274,6 +274,7 @@ class CacheBlk : public ReplaceableEntry
*/
Tick getWhenReady() const
{
+ assert(whenReady != MaxTick);
return whenReady;
}