mem-garnet: Enable bridge rescheduling for DVFS
The Bridge SimObject, which hosts the CDC and SerDes functionality, could be woken up out-of-order when changing frequencies in DVFS. This change ensures there is no packet drop during the transition times. Change-Id: I40240dcb3e957217abd2d7ad22cc4f78809f7b49 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/44287 Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Maintainer: Jason Lowe-Power <power.jg@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
@@ -257,7 +257,10 @@ NetworkBridge::wakeup()
|
||||
t_flit = link_srcQueue->getTopFlit();
|
||||
DPRINTF(RubyNetwork, "Recieved flit %s\n", *t_flit);
|
||||
flitisizeAndSend(t_flit);
|
||||
return;
|
||||
}
|
||||
assert(!link_srcQueue->getSize());
|
||||
|
||||
// Reschedule in case there is a waiting flit.
|
||||
if (!link_srcQueue->isEmpty()) {
|
||||
scheduleEvent(Cycles(1));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user