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.
This commit is contained in:
parent
1ced08c850
commit
501f170924
1 changed files with 0 additions and 2 deletions
|
@ -159,8 +159,6 @@ NetworkInterface::wakeup()
|
|||
msg_ptr = b->peekMsgPtr();
|
||||
if (flitisizeMessage(msg_ptr, vnet)) {
|
||||
b->dequeue(curTime);
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue