ruby: Add missing block deallocations in MOESI_hammer
authorLena Olson <lena@cs.wisc.edu>
Thu, 17 Sep 2015 01:18:40 +0000 (20:18 -0500)
committerLena Olson <lena@cs.wisc.edu>
Thu, 17 Sep 2015 01:18:40 +0000 (20:18 -0500)
commit3225379cc0ab38e559dd05a8b161d80f16e67d78
tree4391ede90d9d26e8c0c354609f3d05f13713f8c7
parent950e431d8766a8cf3b897965c1726e6d2576c6dc
ruby: Add missing block deallocations in MOESI_hammer

Some blocks in MOESI hammer were not getting deallocated when they were set to
an idle state (e.g. by invalidate or other_getx/s messages).  While
functionally correct, this caused some bad effects on performance, such as
blocks in I in the L1s getting sent to the L2 upon eviction, in turn evicting
valid blocks.  Also, if a valid block was in LRU, that block could be evicted
rather than a block in I.  This patch adds in the missing deallocations.

Committed by: Nilay Vaish<nilay@cs.wisc.edu>
src/mem/protocol/MOESI_hammer-cache.sm