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

Reply via email to