summaryrefslogtreecommitdiff
path: root/src/mem/cache/mshr_queue.hh
diff options
context:
space:
mode:
authorAndreas Hansson <andreas.hansson@arm.com>2016-03-17 09:51:22 -0400
committerAndreas Hansson <andreas.hansson@arm.com>2016-03-17 09:51:22 -0400
commitabcbc4e51e21c95fa241d19ed13978ea25b26982 (patch)
tree40dc2f9b3fa227212c2dde335451122fbf4e8411 /src/mem/cache/mshr_queue.hh
parent7a40e7864a99140f18049a6f97163eebca2c891e (diff)
downloadgem5-abcbc4e51e21c95fa241d19ed13978ea25b26982.tar.xz
mem: Adjust cache queue reserve to more conservative values
The cache queue reserve is there as an overflow to give us enough headroom based on when we block the cache, and how many transactions we may already have accepted before actually blocking. The previous values were probably chosen to be "big enough", when we actually know that we check the MSHRs after every single allocation, and for the write buffers we know that we implicitly may need one entry for every outstanding MSHR. * * * mem: Adjust cache queue reserve to more conservative values The cache queue reserve is there as an overflow to give us enough headroom based on when we block the cache, and how many transactions we may already have accepted before actually blocking. The previous values were probably chosen to be "big enough", when we actually know that we check the MSHRs after every single allocation, and for the write buffers we know that we implicitly may need one entry for every outstanding MSHR.
Diffstat (limited to 'src/mem/cache/mshr_queue.hh')
-rw-r--r--src/mem/cache/mshr_queue.hh4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mem/cache/mshr_queue.hh b/src/mem/cache/mshr_queue.hh
index ff78cbebb..f0b5c2ab0 100644
--- a/src/mem/cache/mshr_queue.hh
+++ b/src/mem/cache/mshr_queue.hh
@@ -141,7 +141,9 @@ class MSHRQueue : public Queue<MSHR>
*/
bool canPrefetch() const
{
- return (allocated < numEntries - (numReserve + demandReserve));
+ // @todo we may want to revisit the +1, currently added to
+ // keep regressions unchanged
+ return (allocated < numEntries - (numReserve + 1 + demandReserve));
}
};