Cache: Fix the LRU policy for classic memory hierarchy
authorLena Olson <lena@cs.wisc.edu>
Fri, 29 Jun 2012 15:21:58 +0000 (11:21 -0400)
committerLena Olson <lena@cs.wisc.edu>
Fri, 29 Jun 2012 15:21:58 +0000 (11:21 -0400)
commitd2ebade5a5f5a20a159f62b9e76c6abdf8b00726
tree5d8f67778c6e27970b5f31bd7fbcc7b1a8038513
parentfcccab0dcdc57fe838bb64d584ebbcf28c059dee
Cache: Fix the LRU policy for classic memory hierarchy

The LRU policy always evicted the least recently touched way, even if it
contained valid data and another way was invalid, as can happen if a block has
been invalidated by coherance.  This can result in caches never warming up even
though they are replacing blocks.  This modifies the LRU policy to move blocks
to LRU position on invalidation.
src/mem/cache/tags/cacheset.cc
src/mem/cache/tags/cacheset.hh
src/mem/cache/tags/lru.cc