changeset 08cc303b718b in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=08cc303b718b
description:
        Cache: Fix an issue with LRU when bonus block is used to complete 
transaction.

        The block is never inserted because it's the one extra block in the 
cache, but
        it can be invalidated twice in a row. In that case the block doesn't 
have a
        new master id (beacuse it was never inserted), however it is valid and
        the accounting goes wrong at that point.

diffstat:

 src/mem/cache/cache_impl.hh |  1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diffs (11 lines):

diff -r 68a4f926ca3f -r 08cc303b718b src/mem/cache/cache_impl.hh
--- a/src/mem/cache/cache_impl.hh       Thu Mar 01 17:26:31 2012 -0600
+++ b/src/mem/cache/cache_impl.hh       Thu Mar 01 17:26:31 2012 -0600
@@ -994,6 +994,7 @@
         if (blk->isDirty()) {
             allocateWriteBuffer(writebackBlk(blk), time, true);
         }
+        blk->status &= ~BlkValid;
         tags->invalidateBlk(blk);
     }
 
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to