mem-ruby: Fixed MOESI_CMP_directory resource tracking
authorTiago Muck <tiago.muck@arm.com>
Fri, 10 May 2019 20:28:01 +0000 (15:28 -0500)
committerTiago Mück <tiago.muck@arm.com>
Wed, 6 May 2020 14:42:33 +0000 (14:42 +0000)
commita0130e741bd40cd22b428a71871a2f382841f0cb
tree6dc7a9b1c9179aaa982174e88874e12c2e0bb12d
parent8ec2abb98a2482e41ec7287832cd2cd4b2009d26
mem-ruby: Fixed MOESI_CMP_directory resource tracking

Fixes a few resource allocation issues in the directory controller:

- Added TBE resource checks on allocation.
- Now also allocating a TBE when issuing read requests to the controller
  to allow for a better response to backpressure. Without the TBE as a
  limiting factor, the directory can have an unbounded amount of
  outstanding memory requests.
- Also allocating a TBE for forwarded requests.

Change-Id: I17016668bd64a50a4354baad5d181e6d3802ac46
Signed-off-by: Tiago Mück <tiago.muck@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/21928
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Reviewed-by: Pouya Fotouhi <pfotouhi@ucdavis.edu>
src/mem/ruby/protocol/MOESI_CMP_directory-dir.sm
src/mem/ruby/protocol/MOESI_CMP_directory-dma.sm