501f170924
The NetworkInterface wakeup currently iterates over all VNETs and breaks the loop if a VNET is unable to allocate a VC. This can cause a deadlock if a lower numbered VNET is unable to allocate a VC while a higher numbered VNET has idle VCs. This seems like a bug as Garnet 1.0 uses a while loop over an if-statement, suggesting the break was intended for this while loop. This patch removes the break statement, which allows up to one message to be dequeued from a VNET and injected into the network. |
||
---|---|---|
.. | ||
fault_model | ||
garnet2.0 | ||
simple | ||
BasicLink.cc | ||
BasicLink.hh | ||
BasicLink.py | ||
BasicRouter.cc | ||
BasicRouter.hh | ||
BasicRouter.py | ||
MessageBuffer.cc | ||
MessageBuffer.hh | ||
MessageBuffer.py | ||
Network.cc | ||
Network.hh | ||
Network.py | ||
SConscript | ||
Topology.cc | ||
Topology.hh |