summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChun-Chen TK Hsu <chunchenhsu@google.com>2019-07-11 15:27:41 +0800
committerChun-Chen TK Hsu <chunchenhsu@google.com>2019-07-13 03:17:22 +0000
commit9af53ddaec43653d915649173660dc5c71f06a72 (patch)
treeb734081b59a38f72ecab2949baaa4f5adda050b7
parent059122e22b3651cd7cb3d6581176c745c64cbe8e (diff)
downloadgem5-9af53ddaec43653d915649173660dc5c71f06a72.tar.xz
mem: Check response only when needed in CommMonitor
CommMonitor checks pkt->isResponse() for all packets in recvAtomic(). This assertion fails when packets don't need response, such as WritebackDirty. This change fixes this. Signed-off-by: Chun-Chen TK Hsu Change-Id: I168e349e179b14fa5472698d9300478dc89693fb Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/19428 Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com> Tested-by: kokoro <noreply+kokoro@google.com>
-rw-r--r--src/mem/comm_monitor.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mem/comm_monitor.cc b/src/mem/comm_monitor.cc
index 90268bf3f..24457c9f0 100644
--- a/src/mem/comm_monitor.cc
+++ b/src/mem/comm_monitor.cc
@@ -220,7 +220,8 @@ CommMonitor::recvAtomic(PacketPtr pkt)
if (expects_response)
stats.updateRespStats(req_pkt_info, delay, true);
- assert(pkt->isResponse());
+ // Some packets, such as WritebackDirty, don't need response.
+ assert(pkt->isResponse() || !expects_response);
ProbePoints::PacketInfo resp_pkt_info(pkt);
ppPktResp->notify(resp_pkt_info);
return delay;