It probably happens that when you try to restore (unserialize) the checkpoint, The BaseCPU::unserialize method in src/cpu/base.c is trying to restore the _pid field, but id doesn't find it in the checkpoint.
If you take a look at the checkpoint you will see that under cpu0 it is probably missing this field. Which means that a previous serialization didn't write the _pid field for whatever reason. If you debug it with gdb you can see why this didn't happen Giacomo -----Original Message----- From: gem5-users <[email protected]> On Behalf Of HENG ZHUO Sent: 19 March 2020 06:15 To: gem5 users mailing list <[email protected]> Subject: [gem5-users] Cannot restoring from fs HPI checkpoint Hi, I boot up the kernel and do preparation using AtomicSimpleCPU, then restore with HPI to run the workload, this part was fine. Then, when tuning the actual workload, I was using —take-checkpoint to drop checkpoints. However, I was not able to restore from these checkpoints. Commands used as: 1)Boot up the kernel used: --outdir=/gem5/m5out/masstree/100/ configs/example/fs.py --machine-type=VExpress_EMM64 --cpu-type=AtomicSimpleCPU --num-cpus\ =4 --cpu-clock=2GHz --sys-clock=2GHz --kernel=/images/arm2018/binaries/vmlinux.vexpress_emm64 --dtb-filename=/images/arm2018/bin\ aries/armv8_gem5_v1_4cpu.dtb -b masstree 2)Restore from boot up, running the workload as: --outdir=/gem5/m5out/masstree/100/ configs/example/fs.py --machine-type=VExpress_EMM64 --cpu-type=HPI --num-cpus=4 --cpu-clock=2\ GHz --sys-clock=2GHz --kernel=/images/arm2018/binaries/vmlinux.vexpress_emm64 --dtb-filename=/images/arm2018/bin\ aries/armv8_gem5_v1_4cpu.dtb -b masstree --caches --l2cache --l1i_size=32kB --take-checkpoint=13000000000000,1000000000000 -r 3 3)Restore form checkpoints makes during running with workload(FS, HPI): --outdir=/m5out/masstree/100/ configs/example/fs.py --machine-type=VExpress_EMM64 --cpu-type=HPI --num-cpus=4 --cpu-clock=2\ GHz --sys-clock=2GHz --kernel=/images/arm2018/binaries/vmlinux.vexpress_emm64 --dtb-filename=/images/arm2018/bin\ aries/armv8_gem5_v1_4cpu.dtb -b masstree --caches --l2cache --l1i_size=32kB -r 8 —restore-with-cpu=HPI Step 3 is where I failed with this error: ……. warn: No functional unit for OpClass SimdPredAlu warn: Sockets disabled, not accepting gdb connections warn: optional parameter testsys.cpu0:lastStopped not present fatal: Can't unserialize 'testsys.cpu0:_pid' Memory Usage: 4929176 KBytes Already tried with no —resotre-with-cpu option, no luck with that. Any help is appreciated. Thanks, Heng _______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. _______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
