mem: Service only the 1st FromCPU MSHR target on ReadRespWithInv
Review Request #3725 - Created Nov. 18, 2016 and submitted
| Information | |
|---|---|
| Nikos Nikoleris | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
Changeset 11710:e6fc84b08039 --------------------------- mem: Service only the 1st FromCPU MSHR target on ReadRespWithInv A response to a ReadReq can either be a ReadResp or a ReadRespWithInvalidate. As we add targets to an MSHR for a ReadReq we assume that the response will be a ReadResp. When the response is invalidating (ReadRespWithInvalidate) servicing more than one targets can potentially violate the memory ordering. This change fixes the way we handle a ReadRespWithInvalidate. When a cache receives a ReadRespWithInvalidate we service only the first FromCPU target and all the FromSnoop targets from the MSHR target list. The rest of the FromCPU targets are deferred and serviced by a new request. Change-Id: I75c30c268851987ee5f8644acb46f440b4eeeec2 Reviewed-by: Andreas Hansson <andreas.hansson@arm.com> Reviewed-by: Stephan Diestelhorst <stephan.diestelhorst@arm.com>
