mem-ruby: Checkpoint from MOESI_hammer Ruby hangs
authorHussein Elnawawy <hussein.elnawawy@gmail.com>
Fri, 21 Feb 2020 21:36:15 +0000 (16:36 -0500)
committerHussein Elnawawy <hussein.elnawawy@gmail.com>
Thu, 26 Mar 2020 22:23:59 +0000 (22:23 +0000)
commitd36f2fda1257b946b5d210a63abde2db186849f4
tree1c478b4fdc64a0ef17ffcfebbd9207fc30f43e98
parent04365794b5c039912a09f4d0226adb90c282c965
mem-ruby: Checkpoint from MOESI_hammer Ruby hangs

Fix MOESI_hammer checkpoint hanging.
The function markRemoved() should be called before hitCallback(),
not after it. The reason is that hitCallback() checks if draining is
complete based on the value of "m_outstanding_count". And since
markRemoved() is responsible for decrementing "m_outstanding_count",
hitCallback() does not see that there are no outstanding requests.

Reported by: Timothy Hayes
Jira: https://gem5.atlassian.net/browse/GEM5-331
Change-Id: I14c34be79843b172ae994ab1792fe4ce6cf5cf6e
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25683
Reviewed-by: Timothy Hayes <timothy.hayes@arm.com>
Reviewed-by: John Alsop <johnathan.alsop@amd.com>
Maintainer: Bradford Beckmann <brad.beckmann@amd.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/mem/ruby/system/Sequencer.cc