mem-cache: Only pendingModified MSHRs can satisfy CMO snoops
authorNikos Nikoleris <nikos.nikoleris@arm.com>
Tue, 19 Dec 2017 14:44:11 +0000 (14:44 +0000)
committerNikos Nikoleris <nikos.nikoleris@arm.com>
Wed, 7 Feb 2018 16:11:40 +0000 (16:11 +0000)
commitb72d69c5caa382902fc200086e861e92ef883163
tree5e9d5761f066fb03be2171909de3cdd3d0faa7a8
parenta1fc8b7ecdbadc3e9116594ed0803d2ed2612670
mem-cache: Only pendingModified MSHRs can satisfy CMO snoops

We set the satisfied flag when a cache clean request encounters:
1) a block with the dirty bit set, or
2) a pending modified MSHR which means that the cache will get copy of
the block that will be soon modified.

This changeset fixes a previous bug that set the satisfied flag on
snooping MSHR hits even the pendingModified flags was not set.

Change-Id: I4968c4820997be5cc1238148eea12a1ba39837d4
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Sudhanshu Jha <sudhanshu.jha@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/7822
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
src/mem/cache/mshr.cc