summaryrefslogtreecommitdiff
path: root/src/mem/protocol/RubySlicc_MemControl.sm
diff options
context:
space:
mode:
authorTiago Muck <tiago.muck@arm.com>2019-01-24 15:03:21 -0600
committerTiago Mück <tiago.muck@arm.com>2019-05-09 15:39:27 +0000
commit8c34a1a6773db8d539b29f3f8fc3addfb2b54be7 (patch)
tree5801f34458a64c809f729748d1f8adeb50daabce /src/mem/protocol/RubySlicc_MemControl.sm
parentbf0a722acdd8247602e83720a5f81a0b69c76250 (diff)
downloadgem5-8c34a1a6773db8d539b29f3f8fc3addfb2b54be7.tar.xz
mem-ruby: Fix MOESI_CMP_directory blocked line handling
Using recycle in the L2 controllers to put messages back into the buffer may lead to starvation when there are many L1 requests for the same line. This can easily trigger the deadlock detection mechanism in configurations with many cores (16+). Replacing recycle by stall_and_wait for L1 requests avoids this issue. wakeUpBuffers calls were added to all transitions from transient to stable states. Change-Id: I28b8aeacc48919ccf38e69653cd9205a4153514b Signed-off-by: Tiago Muck <tiago.muck@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17568 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Matthew Poremba <matthew.poremba@amd.com> Maintainer: Jason Lowe-Power <jason@lowepower.com> Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'src/mem/protocol/RubySlicc_MemControl.sm')
0 files changed, 0 insertions, 0 deletions