-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2908/
-----------------------------------------------------------

(Updated July 1, 2015, 7:45 p.m.)


Review request for Default and Ruby Reviewers.


Changes
-------

Moved code to flush ruby data back to memory into new memWriteback() method,
which removes the need for serialization priorities.


Repository: gem5


Description (updated)
-------

ruby: Fix checkpointing and restore

There are 2 problems with the existing checkpoint and restore code in ruby.
The first is that when the event queue is altered by ruby during serialization,
some events that are currently scheduled cannot be found (e.g. the event to
stop simulation that always lives on the queue), causing a panic.  The second
is that ruby is sometimes serialized after the memory system, meaning that the
dirty data in its cache is flushed back to memory too late and so isn't
included in the checkpoint.

These are fixed by implementing memory writeback in ruby, using the same
technique of hijacking the event queue, but first descheduling all events that
are currently on it.  They are saved, along with their scheduled time, so that
the event queue can be faithfully reconstructed after writeback has finished.
Writeback is still implemented using flushing, so the cache recorder object,
that is created to generate the trace and manage flushing, is kept around and
used during serialization to write the trace to disk.


Diffs (updated)
-----

  src/mem/ruby/system/CacheRecorder.cc e4f63f1d502d 
  src/mem/ruby/system/System.hh e4f63f1d502d 
  src/mem/ruby/system/System.cc e4f63f1d502d 
  src/sim/eventq.hh e4f63f1d502d 

Diff: http://reviews.gem5.org/r/2908/diff/


Testing
-------


Thanks,

Timothy Jones

_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to