gpu-compute: Remove unneeded Request::setVirt call
authorAlexandru Dutu <alexandru.dutu@amd.com>
Mon, 25 Jun 2018 16:51:53 +0000 (12:51 -0400)
committerAlexandru Duțu <alexandru.dutu@amd.com>
Tue, 26 Jun 2018 16:46:40 +0000 (16:46 +0000)
This sets the members of a Request object to the values they
already hold, except the atomicOpFunctor which is set to
nullptr. This call introduces a bug for atomics and is not
useful for non-atomic requests. This changeset is also
adding the wave PC and instruction sequence number to the
Request object.

Change-Id: I62f7b4a597483b0aa848a0cfbc72181e1063f56a
Reviewed-on: https://gem5-review.googlesource.com/11549
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>
Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com>
Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com>

src/gpu-compute/compute_unit.cc

index 1a174c98be4e7548d3159c2c62355fdeff55ed6a..fd328adca661c759d8702df86325fcd76722a6be 100644 (file)
@@ -747,9 +747,10 @@ ComputeUnit::sendRequest(GPUDynInstPtr gpuDynInst, int index, PacketPtr pkt)
 
     updatePageDivergenceDist(tmp_vaddr);
 
-    pkt->req->setVirt(pkt->req->getAsid(), tmp_vaddr, pkt->req->getSize(),
-                      pkt->req->getFlags(), pkt->req->masterId(),
-                      pkt->req->getPC());
+    // set PC in request
+    pkt->req->setPC(gpuDynInst->wavefront()->pc());
+
+    pkt->req->setReqInstSeqNum(gpuDynInst->seqNum());
 
     // figure out the type of the request to set read/write
     BaseTLB::Mode TLB_mode;