ruby: recorder: Fix (de-)serializing with different cache block-sizes
authorMarco Elver <marco.elver@ed.ac.uk>
Sat, 19 Apr 2014 14:00:30 +0000 (09:00 -0500)
committerMarco Elver <marco.elver@ed.ac.uk>
Sat, 19 Apr 2014 14:00:30 +0000 (09:00 -0500)
commitd9fa950396e8f331bbfb1023348c8c680967b1be
treede8a7a5902da5952c70f88d43fd8fc89c496377a
parent097aadc2cddafdd6433aa8f57b141f0e01222e45
ruby: recorder: Fix (de-)serializing with different cache block-sizes

Upon aggregating records, serialize system's cache-block size, as the
cache-block size can be different when restoring from a checkpoint. This way,
we can correctly read all records when restoring from a checkpoints, even if
the cache-block size is different.

Note, that it is only possible to restore from a checkpoint if the
desired cache-block size is smaller or equal to the cache-block size
when the checkpoint was taken; we can split one larger request into
multiple small ones, but it is not reliable to do the opposite.

Committed by: Nilay Vaish <nilay@cs.wisc.edu>
src/mem/ruby/recorder/CacheRecorder.cc
src/mem/ruby/recorder/CacheRecorder.hh
src/mem/ruby/system/System.cc
src/sim/serialize.hh
util/cpt_upgrader.py