mem-cache: Fix promoting of targets that need writable
authorNikos Nikoleris <nikos.nikoleris@arm.com>
Sat, 17 Mar 2018 00:52:52 +0000 (00:52 +0000)
committerNikos Nikoleris <nikos.nikoleris@arm.com>
Fri, 22 Jun 2018 17:39:16 +0000 (17:39 +0000)
commite656eeb288f8de94cc293012ba74c9c05fd75da3
tree8b18642ed0c318ef280508166282cca4058dce99
parent97075b9982537b8d7cf7f921b8e0e667ffa7691c
mem-cache: Fix promoting of targets that need writable

There are cases where a request which does not need a writable copy
gets an response upgraded reponse and fills in a writable copy. When
this happens, we promote deferred MSHR targets that were deferred
because they needed a writable copy to service them immediately.

Previously, we would uncoditionally promote deferred targets. Since
the deferred targets might contain a cache invalidation operation, we
have to make sure that any targets following the cache invalidation is
not promoted.

Change-Id: I1f7b28f7d35f84329e065c8f63117db21852365a
Reviewed-on: https://gem5-review.googlesource.com/11016
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
src/mem/cache/mshr.cc
src/mem/cache/mshr.hh