summaryrefslogtreecommitdiff
path: root/src/mem/ruby/structures/LRUPolicy.cc
diff options
context:
space:
mode:
authorJoel Hestness <jthestness@gmail.com>2016-12-20 11:38:24 -0600
committerJoel Hestness <jthestness@gmail.com>2016-12-20 11:38:24 -0600
commit3a656da1a64f08d5e4c755e94cefda5a4e985a50 (patch)
tree945725f5b79c1124bb032c44f191e628ba4328c1 /src/mem/ruby/structures/LRUPolicy.cc
parent3eb979a8cedde55f4fe3c6cab4b5e591e664dd96 (diff)
downloadgem5-3a656da1a64f08d5e4c755e94cefda5a4e985a50.tar.xz
ruby: Make MessageBuffers actually finite sized
When Ruby controllers stall messages in MessageBuffers, the buffer moves those messages off the priority heap and into a per-address stall map. When buffers are finite-sized, the test areNSlotsAvailable() only checks the size of the priority heap, but ignores the stall map, so the map is allowed to grow unbounded if the controller stalls numerous messages. This patch fixes the problem by tracking the stall map size and testing the total number of messages in the buffer appropriately.
Diffstat (limited to 'src/mem/ruby/structures/LRUPolicy.cc')
0 files changed, 0 insertions, 0 deletions