> On March 18, 2015, 4:15 p.m., Steve Reinhardt wrote:
> > 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.

I actually did something like that about a year ago. There is a changeset on 
one of my old brances (https://github.com/andysan/gem5/tree/fork) that adds 
support for relocating gem5's output directory (and a whole bunch of plumbing 
to fork and run multiple simulators in parallel). Unfortunately, it never made 
it to upstream at the time.


- Andreas


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


On March 6, 2015, 1:40 p.m., Andreas Hansson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/2684/
> -----------------------------------------------------------
> 
> (Updated March 6, 2015, 1:40 p.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