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

Reply via email to