Review Board 2.0.15


ruby: Check all VNETs for injection in garnet NetworkInterface

Review Request #3751 - Created Dec. 8, 2016 and submitted - Latest diff uploaded

Information
Matthew Poremba
gem5
default
3753
Reviewers
Default
tushar
Changeset 11758:a3f355233ef0
---------------------------
ruby: Check all VNETs for injection in garnet NetworkInterface

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.