ruby: Fix memWriteback() not to record auto-delete events
Review Request #2951 - Created July 8, 2015 and submitted
| Information | |
|---|---|
| Timothy Jones | |
| gem5 | |
| default | |
| Reviewers | |
| Default, Ruby | |
ruby: Fix memWriteback() not to record auto-delete events
Currently ruby memWriteback() hijacks the event queue to perform its flushing
events by descheduling everything, flushing, then restoring everything again.
However, events with the AutoDelete flag set will delete themselves when they
are descheduled, causing an error when attempting to schedule them again.
This is fixed by simply not recording them when taking them off the queue. A
new warning lets the user know that ruby memWriteback() may cause problems if
simulation continues.
The patch seems fine to me. I suggest that you merge the changes
to ruby/system/System.cc to your original patch on checkpointing.
The change to eventq.hh should go in separately.
