configs: set requestToMemory buffer size for CHI

Currently TBEs for write requests are deallocated when the request is
pushed to memory, so an unlimited requestToMemory buffers size allows
for an unlimited number of outstanding write requests.

Set the requestToMemory buffers size prevents this.
The buffer size should be greater than the enqueue latency to allow at
least one enqueue per cycle.

JIRA: https://gem5.atlassian.net/browse/GEM5-1195

Change-Id: I31829b6bbabd8b45e1142790038c27bd459fa709
Signed-off-by: Tiago Mück <tiago.muck@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/63674
Tested-by: kokoro <noreply+kokoro@google.com>
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
This commit is contained in:
Tiago Mück
2022-05-16 17:46:33 -05:00
committed by Tiago Muck
parent 06a8a47322
commit 3871f57dc3
2 changed files with 14 additions and 0 deletions

View File

@@ -683,6 +683,13 @@ class CHI_SNF_Base(CHI_Node):
transitions_per_cycle=1024,
)
# The Memory_Controller implementation deallocates the TBE for
# write requests when they are queue up to memory. The size of this
# buffer must be limited to prevent unlimited outstanding writes.
self._cntrl.requestToMemory.buffer_size = (
int(self._cntrl.to_memory_controller_latency) + 1
)
self.connectController(self._cntrl)
if parent: