gem5/src/mem/ruby/network
Matthew Poremba 42044645b9 ruby: Check MessageBuffer space in garnet NetworkInterface
Garnet's NetworkInterface does not consider the size of MessageBuffers when
ejecting a Message from the network. Add a size check for the MessageBuffer
and only enqueue if space is available. If space is not available, the
message if placed in a queue and the credit is held. A callback from the
MessageBuffer is implemented to wake the NetworkInterface. If there are
messages in the stalled queue, they are processed first, in a FIFO manner
and if succesfully ejected, the credit is finally sent back upstream. The
maximum size of the stall queue is equal to the number of valid VNETs
with MessageBuffers attached.
2017-01-19 11:59:10 -05:00
..
fault_model style: remove trailing whitespace 2016-02-06 17:21:18 -08:00
garnet2.0 ruby: Check MessageBuffer space in garnet NetworkInterface 2017-01-19 11:59:10 -05:00
simple style: [patch 1/22] use /r/3648/ to reorganize includes 2016-11-09 14:27:37 -06:00
BasicLink.cc config: make internal links in network topology unidirectional. 2016-10-06 14:35:18 -04:00
BasicLink.hh config: make internal links in network topology unidirectional. 2016-10-06 14:35:18 -04:00
BasicLink.py config: add port directions and per-router delay in topology. 2016-10-06 14:35:20 -04:00
BasicRouter.cc config: add port directions and per-router delay in topology. 2016-10-06 14:35:20 -04:00
BasicRouter.hh config: add port directions and per-router delay in topology. 2016-10-06 14:35:20 -04:00
BasicRouter.py ruby: garnet2.0 2016-10-06 14:35:22 -04:00
MessageBuffer.cc ruby: Check MessageBuffer space in garnet NetworkInterface 2017-01-19 11:59:10 -05:00
MessageBuffer.hh ruby: Check MessageBuffer space in garnet NetworkInterface 2017-01-19 11:59:10 -05:00
MessageBuffer.py ruby: message buffer, timer table: significant changes 2015-09-16 11:59:56 -05:00
Network.cc style: [patch 1/22] use /r/3648/ to reorganize includes 2016-11-09 14:27:37 -06:00
Network.hh config: add port directions and per-router delay in topology. 2016-10-06 14:35:20 -04:00
Network.py ruby: specify number of vnets for each protocol 2015-08-30 12:24:18 -05:00
SConscript ruby: Expose MessageBuffers as SimObjects 2015-08-14 00:19:44 -05:00
Topology.cc style: [patch 1/22] use /r/3648/ to reorganize includes 2016-11-09 14:27:37 -06:00
Topology.hh ruby: Fix potential bugs in garnet2.0 2016-11-21 15:41:30 -05:00