Adarsh Patil has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/29552 )

Change subject: mem-ruby: Fix for Invalid transition in MOESI_CMP_directory
......................................................................

mem-ruby: Fix for Invalid transition in MOESI_CMP_directory

Send the correct sharer count from the memory directory to the requesting
L2 cache in data message reply.

Jira issue: https://gem5.atlassian.net/browse/GEM5-613

Change-Id: If76de630fd0001816e8836d9bf77961a94faaa7c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/29552
Maintainer: Jason Lowe-Power <power...@gmail.com>
Reviewed-by: Pouya Fotouhi <pfoto...@ucdavis.edu>
Reviewed-by: Tiago Mück <tiago.m...@arm.com>
Reviewed-by: Jason Lowe-Power <power...@gmail.com>
Tested-by: kokoro <noreply+kok...@google.com>
---
M src/mem/ruby/protocol/MOESI_CMP_directory-dir.sm
1 file changed, 5 insertions(+), 1 deletion(-)

Approvals:
  Jason Lowe-Power: Looks good to me, approved; Looks good to me, approved
  Pouya Fotouhi: Looks good to me, but someone else must approve
  Tiago Mück: Looks good to me, but someone else must approve
  kokoro: Regressions pass



diff --git a/src/mem/ruby/protocol/MOESI_CMP_directory-dir.sm b/src/mem/ruby/protocol/MOESI_CMP_directory-dir.sm
index 3b09cbf..03010d5 100644
--- a/src/mem/ruby/protocol/MOESI_CMP_directory-dir.sm
+++ b/src/mem/ruby/protocol/MOESI_CMP_directory-dir.sm
@@ -469,7 +469,11 @@
         out_msg.Destination.add(in_msg.OriginalRequestorMachId);
         out_msg.DataBlk := in_msg.DataBlk;
         out_msg.Dirty := false; // By definition, the block is now clean
-        out_msg.Acks := in_msg.Acks;
+ if (getDirectoryEntry(in_msg.addr).Sharers.isElement(in_msg.OriginalRequestorMachId) == true) { + out_msg.Acks := (getDirectoryEntry(in_msg.addr).Sharers.count()) - 1;
+        } else {
+         out_msg.Acks := getDirectoryEntry(in_msg.addr).Sharers.count();
+        }
         if (in_msg.ReadX) {
           out_msg.Type := CoherenceResponseType:DATA_EXCLUSIVE;
         } else {

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/29552
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: If76de630fd0001816e8836d9bf77961a94faaa7c
Gerrit-Change-Number: 29552
Gerrit-PatchSet: 4
Gerrit-Owner: Adarsh Patil <adarshpatil...@gmail.com>
Gerrit-Reviewer: Adarsh Patil <adarshpatil...@gmail.com>
Gerrit-Reviewer: Bradford Beckmann <brad.beckm...@amd.com>
Gerrit-Reviewer: Jason Lowe-Power <power...@gmail.com>
Gerrit-Reviewer: Pouya Fotouhi <pfoto...@ucdavis.edu>
Gerrit-Reviewer: Tiago Mück <tiago.m...@arm.com>
Gerrit-Reviewer: kokoro <noreply+kok...@google.com>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to