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

Ship it!


Glad to have a test for checkpoints.  The fork idea is clever.

I think the output issue could be fixed, e.g., by calling stats.initText() with 
a new filename, or perhaps call core.setOutputDir() first and then just call 
stats.initText() to open a new stats.txt in a different dir.  That will take a 
little work though, since as it stands initText() is a no-op if the file is 
already open---we'd have to change that behavior or create a new function like 
reInitText().  Clearly that can all wait for a later changeset though.

- Steve Reinhardt


On March 6, 2015, 5:40 a.m., Andreas Hansson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/2684/
> -----------------------------------------------------------
> 
> (Updated March 6, 2015, 5:40 a.m.)
> 
> 
> Review request for Default.
> 
> 
> Repository: gem5
> 
> 
> Description
> -------
> 
> Changeset 10735:7f058afecefe
> ---------------------------
> test, arm: Add scripts to test checkpoints
> 
> Add a set of scripts to automatically test checkpointing in the
> regression framework. The checkpointing tests are similar to the
> switcheroo tests, but instead of switching between CPUs, they
> checkpoint the system and restore from the checkpoint again. This is
> done at regular intervals, typically while booting Linux.
> 
> The implementation is fairly straight forward, with the exception that
> we have to work around gem5's inability to restore from a checkpoint
> after a system has been instantiated. We work around this by forking
> off child processes that does the actual simulation and never
> instantiate a system in the parent process unless a maximum checkpoint
> count is reached (in which case we just simulate the system to
> completion in the parent).
> 
> Checkpoint testing is currently only enabled 32- and 64-bit ARM
> systems using atomic CPUs.
> 
> Note: An unfortunate side-effect of forking is that every new process
> will overwrite the stats and terminal output from the previous
> process. This means that the output directory only contains data from
> the last checkpoint.
> 
> 
> Diffs
> -----
> 
>   tests/SConscript 8a20e2a1562d 
>   tests/configs/checkpoint.py PRE-CREATION 
>   tests/configs/realview-simple-atomic-checkpoint.py PRE-CREATION 
>   tests/configs/realview64-simple-atomic-checkpoint.py PRE-CREATION 
>   
> tests/long/fs/10.linux-boot/ref/arm/linux/realview64-simple-atomic-checkpoint/config.ini
>  PRE-CREATION 
>   
> tests/long/fs/10.linux-boot/ref/arm/linux/realview64-simple-atomic-checkpoint/config.json
>  PRE-CREATION 
>   
> tests/long/fs/10.linux-boot/ref/arm/linux/realview64-simple-atomic-checkpoint/stats.txt
>  PRE-CREATION 
>   
> tests/long/fs/10.linux-boot/ref/arm/linux/realview64-simple-atomic-checkpoint/system.terminal
>  8a20e2a1562d 
>   
> tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-atomic-checkpoint/config.ini
>  PRE-CREATION 
>   
> tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-atomic-checkpoint/config.json
>  PRE-CREATION 
>   
> tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-atomic-checkpoint/stats.txt
>  PRE-CREATION 
>   
> tests/quick/fs/10.linux-boot/ref/arm/linux/realview-simple-atomic-checkpoint/system.terminal
>  8a20e2a1562d 
> 
> Diff: http://reviews.gem5.org/r/2684/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Andreas Hansson
> 
>

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

Reply via email to