> On April 10, 2014, 6:15 p.m., Nilay Vaish wrote:
> > Ok, it now seems that we do not require this version and updates
> > to the utility script.  Since it is optional that the block size 
> > be unserialized, the earlier checkpoints will not break.  For 
> > those checkpoints, the current block size would be assumed to be 
> > the block size with which the checkpoint was created.  If you 
> > agree, then I suggest that you eliminate the not required code.

The cpt_upgrader could be used to fix existing checkpoints to permit using old 
checkpoints with different cache-block sizes. I have already found this useful 
on many of my existing checkpoints.

I made unserializing the block-size optional, because reverting to the old 
behaviour does not require much code, but nevertheless is broken.

If this use case (use checkpoints with different block-size) is too rare to 
justify incrementing the checkpoint version, let me know and I can revert the 
version and cpt_upgrader.


- Marco


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


On April 3, 2014, 11:44 p.m., Marco Elver wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/2220/
> -----------------------------------------------------------
> 
> (Updated April 3, 2014, 11:44 p.m.)
> 
> 
> Review request for Default.
> 
> 
> Repository: gem5
> 
> 
> Description
> -------
> 
> 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.
> 
> 
> Diffs
> -----
> 
>   src/mem/ruby/recorder/CacheRecorder.cc 52c552138ba1 
>   src/mem/ruby/recorder/CacheRecorder.hh 52c552138ba1 
>   src/mem/ruby/system/System.cc 52c552138ba1 
>   src/sim/serialize.hh 52c552138ba1 
>   util/cpt_upgrader.py 52c552138ba1 
> 
> Diff: http://reviews.gem5.org/r/2220/diff/
> 
> 
> Testing
> -------
> 
> Created a Ruby checkpoint with the default config. Restore from checkpoint 
> with default config (64 byte block-size) and varying block-sizes (32, 16, 8).
> 
> 
> Thanks,
> 
> Marco Elver
> 
>

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

Reply via email to