changeset 75f7ae6304f3 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=75f7ae6304f3
description:
ruby: mesi two,three level: copy data only when dirty
The level 2 controller has a bug. In one particular action, the data
block was
copied from a message irrespective whether the block is dirty or not.
In cases
when L1 sends no data, the data value copied was incorrect.
diffstat:
src/mem/protocol/MESI_Two_Level-L2cache.sm | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diffs (13 lines):
diff -r ede920fb4f66 -r 75f7ae6304f3 src/mem/protocol/MESI_Two_Level-L2cache.sm
--- a/src/mem/protocol/MESI_Two_Level-L2cache.sm Mon Aug 03 22:44:27
2015 -0500
+++ b/src/mem/protocol/MESI_Two_Level-L2cache.sm Mon Aug 03 22:44:28
2015 -0500
@@ -628,8 +628,8 @@
action(mr_writeDataToCacheFromRequest, "mr", desc="Write data from response
queue to cache") {
peek(L1RequestL2Network_in, RequestMsg) {
assert(is_valid(cache_entry));
- cache_entry.DataBlk := in_msg.DataBlk;
if (in_msg.Dirty) {
+ cache_entry.DataBlk := in_msg.DataBlk;
cache_entry.Dirty := in_msg.Dirty;
}
}
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev