mem-ruby: fix the condition for stale WriteCleanFull
WriteCleanFull can be requested for the cache line in SD state (e.g. Local eviction of a cache line in SD_RSC state). In this case, the requestor is the owner of the cache line, but it doesn't have it with exclusive right. Thus, 'ownerIsExcl == false' should be removed from the stale condition. Change-Id: I4d34021ac31b2e8600c24689a03a3b8fa18aa1f7 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/58412 Tested-by: kokoro <noreply+kokoro@google.com> Maintainer: Jason Lowe-Power <power.jg@gmail.com> Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
This commit is contained in:
@@ -334,7 +334,7 @@ in_port(reqRdyPort, CHIRequestMsg, reqRdy, rank=3,
|
||||
}
|
||||
} else if (in_msg.type == CHIRequestType:WriteCleanFull) {
|
||||
if (is_invalid(dir_entry) || (dir_entry.ownerExists == false) ||
|
||||
(dir_entry.ownerIsExcl == false) || (dir_entry.owner != in_msg.requestor)) {
|
||||
(dir_entry.owner != in_msg.requestor)) {
|
||||
trigger(Event:WriteCleanFull_Stale, in_msg.addr, cache_entry, tbe);
|
||||
}
|
||||
} else if (in_msg.type == CHIRequestType:Evict) {
|
||||
|
||||
Reference in New Issue
Block a user