mem: Do not set cacheResponding on MSHR snoop if not responding
This patch changes the flow control for HSHR::handleSnoop to ensure that we only set cacheResponding on the snoop packet if we are actually responding. This avoids situations where a responder is stalling indefinitely on a response that never arrives. Change-Id: I691dd01755b614b30203581aa74fc743b350eacc Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
This commit is contained in:
parent
90de9be2ef
commit
4ff4f9c531
1 changed files with 1 additions and 1 deletions
2
src/mem/cache/mshr.cc
vendored
2
src/mem/cache/mshr.cc
vendored
|
@ -400,7 +400,7 @@ MSHR::handleSnoop(PacketPtr pkt, Counter _order)
|
|||
PacketPtr cp_pkt = will_respond ? new Packet(pkt, true, true) :
|
||||
new Packet(new Request(*pkt->req), pkt->cmd);
|
||||
|
||||
if (isPendingModified()) {
|
||||
if (will_respond) {
|
||||
// we are the ordering point, and will consequently
|
||||
// respond, and depending on whether the packet
|
||||
// needsWritable or not we either pass a Shared line or a
|
||||
|
|
Loading…
Reference in a new issue