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