gpu-compute: Handle GPUFS system store responses

Requests in GPUFS which go to system memory will not generate the
WriteCompleteResp packets that the VIPER protocol would normally created
for device requests which go through the caches. Therefore, we need to
callback the GM pipe handleResponse to complete the access and make
forward progress.

Change-Id: Ic00c430ce420a591fe5743f758b780d93afd2a38
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/57989
Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com>
Maintainer: Matt Sinclair <mattdsinclair@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Matthew Poremba
2022-03-18 14:13:02 -05:00
parent 6feaa88e27
commit e36a8dbd8a

View File

@@ -1362,8 +1362,10 @@ ComputeUnit::DataPort::processMemRespEvent(PacketPtr pkt)
// The status vector and global memory response for WriteResp packets get
// handled by the WriteCompleteResp packets.
if (pkt->cmd == MemCmd::WriteResp) {
delete pkt;
return;
if (!FullSystem || !pkt->req->systemReq()) {
delete pkt;
return;
}
}
// this is for read, write and atomic