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:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user