----------------------------------------------------------- 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
