gpu-compute: remove recvToken from GM pipe exec
authorMatthew Poremba <matthew.poremba@amd.com>
Thu, 14 Jun 2018 22:12:28 +0000 (15:12 -0700)
committerAnthony Gutierrez <anthony.gutierrez@amd.com>
Fri, 19 Jun 2020 20:35:11 +0000 (20:35 +0000)
Tokens were previously acquired in GM pipe exec but has been moved to
acqCoalescerToken. This removes the extraneous code which was acquiring
tokens twice, causing them to be depleted and triggering an assertion.

Change-Id: Ic92de8f06cc85828b29c69790bdadde057ef1777
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/29916
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>
Reviewed-by: Matthew Poremba <matthew.poremba@amd.com>
Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/gpu-compute/global_memory_pipeline.cc

index 0bbacc44c9647fb7f64f9b2774d827c66d1b7ac4..c73184a59b46c8b669eae8d74e56da86320eba6a 100644 (file)
@@ -190,12 +190,6 @@ GlobalMemPipeline::exec()
 
         DPRINTF(GPUCoalescer, "initiateAcc for %s seqNum %d\n",
                 mp->disassemble(), mp->seqNum());
-        // Memfences will not return tokens and must be issued so we should
-        // not request one as this will deplete the token count until deadlock
-        if (!mp->isMemSync()) {
-            assert(mp->computeUnit()->getTokenManager()->haveTokens(1));
-            mp->computeUnit()->getTokenManager()->acquireTokens(1);
-        }
         mp->initiateAcc(mp);
 
         if (((mp->isMemSync() && !mp->isEndOfKernel()) || !mp->isMemSync())) {