diff options
author | Steve Reinhardt <stever@eecs.umich.edu> | 2007-07-22 21:43:38 -0700 |
---|---|---|
committer | Steve Reinhardt <stever@eecs.umich.edu> | 2007-07-22 21:43:38 -0700 |
commit | 82e2a3557672864f0ea3ae64dad61681546aaf07 (patch) | |
tree | 1f0b74fe61274972525694ef6ad4bfbcb8b60231 /src/mem/cache/miss/mshr_queue.cc | |
parent | fe442f67adad74130bb496061f2e13a993bdfcdd (diff) | |
download | gem5-82e2a3557672864f0ea3ae64dad61681546aaf07.tar.xz |
Replace lowerMSHRPending flag with more robust scheme
based on following Packet senderState links.
--HG--
extra : convert_revision : 9027d59bd7242aa0e4275bf94d8b1fb27bd59d79
Diffstat (limited to 'src/mem/cache/miss/mshr_queue.cc')
-rw-r--r-- | src/mem/cache/miss/mshr_queue.cc | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/src/mem/cache/miss/mshr_queue.cc b/src/mem/cache/miss/mshr_queue.cc index 4d3cf30e1..50a28fb3c 100644 --- a/src/mem/cache/miss/mshr_queue.cc +++ b/src/mem/cache/miss/mshr_queue.cc @@ -179,20 +179,12 @@ MSHRQueue::moveToFront(MSHR *mshr) void MSHRQueue::markInService(MSHR *mshr) { - assert(!mshr->inService); - if (mshr->isSimpleForward()) { - // we just forwarded the request packet & don't expect a - // response, so get rid of it - assert(mshr->getNumTargets() == 1); - mshr->popTarget(); + if (mshr->markInService()) { deallocate(mshr); - return; + } else { + readyList.erase(mshr->readyIter); + inServiceEntries += 1; } - mshr->inService = true; - readyList.erase(mshr->readyIter); - //mshr->readyIter = NULL; - inServiceEntries += 1; - //readyList.pop_front(); } void |