mem-cache: Fix increasing replacement count
authorDaniel R. Carvalho <odanrc@yahoo.com.br>
Thu, 18 Apr 2019 12:54:18 +0000 (14:54 +0200)
committerDaniel Carvalho <odanrc@yahoo.com.br>
Fri, 19 Apr 2019 21:39:01 +0000 (21:39 +0000)
commit7976b561de61b7523ca9a860154ad7ba701d12a7
tree098f7fb9f0b12e4af1bf8f004d36e85c9e46d16c
parent639b4006ff67f3312d12450d950706fb514f42e9
mem-cache: Fix increasing replacement count

Replacements should be increased when there is any evicted
block, which does not necessarily have to be the victim.

For example, assume a superblock contains 4 blocks, and both
A and C are stored compressed (belonging to SB_1). Then F,
from SB2 needs to make room by replacing SB1. If F map to
location 2, the number of replacements should be increased,
even though 2 had no valid blocks:

 Tag      Data          Tag     Data
|SB_1|--|A|X|C|X|  --> |SB_2| |X|F|X|X|
         1 2 3 4               1 2 3 4

Change-Id: I7b3735d28a35faa8d8fa613a1555bb258da65859
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18208
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
src/mem/cache/base.cc