gem5-users@gem5.org

The gem5 Users mailing list

View all threads

question regarding m5 checkpoint generation and restoration

BA
Bishoy Attia
Wed, Jan 3, 2024 12:46 PM

Hello,

I hope all is well. I am using gem5 full system simulation. I want to generate checkpoint after boot of the image. then restore this checkpoint and take checkpoint after 1000000 instructions. The problem is the generated checkpoint after booting is marked by tick number. the python command i am using for restoring is:

$GEM5_PATH/build/X86/gem5.opt  --verbose --outdir=$OUTPUT_DIR -r -e --stdout-file=stdout.txt --stderr-file=stderr.txt $CONFIG_FILE --os-type=linux --disk-image=$IMG_DIR --caches --cpu-type=AtomicSimpleCPU --restore-with-cpu=AtomicSimpleCPU --kernel=./vmlinux-5.4.49 -r 1 --checkpoint-dir=${BM_DIR}/chkps/ --script=${BM_DIR}/my_fs.rcS -n 2 --mem-type=SimpleMemory --mem-size=64GB --at-instruction --take-checkpoints 10000000 --max-checkpoints 10

I tried to rename the checkpoint folder to match the expected folder name (cpt.None.1) but i got the following error:
Global frequency set at 1000000000000 ticks per second
0: system.pc.south_bridge.cmos.rtc: Real-time clock set to Sun Jan  1 00:00:00 2012
Creating checkpoint at inst:10000001
120260822403500: system.pc.com_1.device: attach terminal 0
exit cause = a thread reached the max instruction count
Writing checkpoint
Checkpoint written.
Exiting @ tick 120278584296500 because a thread reached the max instruction count

i think the error is in the changing of the format. how can i change the format as appropriate (how can i map the tick number to instruction number)?. also, how can i generate checkpoint using m5 checkpoint but with instruction number instead of tick number?

Thanks in advance,
Bishoy Attia

Hello, I hope all is well. I am using gem5 full system simulation. I want to generate checkpoint after boot of the image. then restore this checkpoint and take checkpoint after 1000000 instructions. The problem is the generated checkpoint after booting is marked by tick number. the python command i am using for restoring is: $GEM5_PATH/build/X86/gem5.opt --verbose --outdir=$OUTPUT_DIR -r -e --stdout-file=stdout.txt --stderr-file=stderr.txt $CONFIG_FILE --os-type=linux --disk-image=$IMG_DIR --caches --cpu-type=AtomicSimpleCPU --restore-with-cpu=AtomicSimpleCPU --kernel=./vmlinux-5.4.49 -r 1 --checkpoint-dir=${BM_DIR}/chkps/ --script=${BM_DIR}/my_fs.rcS -n 2 --mem-type=SimpleMemory --mem-size=64GB --at-instruction --take-checkpoints 10000000 --max-checkpoints 10 I tried to rename the checkpoint folder to match the expected folder name (cpt.None.1) but i got the following error: Global frequency set at 1000000000000 ticks per second 0: system.pc.south_bridge.cmos.rtc: Real-time clock set to Sun Jan 1 00:00:00 2012 Creating checkpoint at inst:10000001 120260822403500: system.pc.com_1.device: attach terminal 0 exit cause = a thread reached the max instruction count Writing checkpoint Checkpoint written. Exiting @ tick 120278584296500 because a thread reached the max instruction count i think the error is in the changing of the format. how can i change the format as appropriate (how can i map the tick number to instruction number)?. also, how can i generate checkpoint using m5 checkpoint but with instruction number instead of tick number? Thanks in advance, Bishoy Attia