Hello,

I've been running into an issue with the latest gem5 git master when
running gobmk from spec2006. The issue occurs when restoring from a
checkpoint that I created by adding m5_checkpoint to the gobmk source
(specifically right before the switch(playmode) in interface/main.c.) If I
let the simulation run from the beginning rather than restoring from a
checkpoint, the error never occurs.

I run the following command to generate the checkpoint:

../build/ARM/gem5.opt ../configs/example/se.py --cpu-type=AtomicSimpleCPU
--mem-size=4GB --mem-type=SimpleMemory --cpu-clock=1GHz --sys-clock=1GHz -c
./gobmk_base.aarch64-linux-gnu -o ' --quiet --mode gtp ' --input=13x13.tst

And this command to restore from the checkpoint:
 ../build/ARM/gem5.opt ../configs/example/se.py --cpu-type=O3_ARM_v7a_3
--caches --l2cache --mem-size=4GB --mem-type=SimpleMemory --cpu-clock=1GHz
--sys-clock=1GHz --l1d_size=32kB -r1 -c ./gobmk_base.aarch64-linux-gnu -o '
--quiet --mode gtp ' --input=13x13.tst


Once I restore from the checkpoint and begin simulating, I get the below
error:
fatal: FuncPageTable::allocate: addr 0x3fffff0000 already mapped

I tried the same experiment with x86 and RISC-V and all got the already
mapped error. I also tried MinorCPU and TimingSimpleCPU to no avail.

However, if I checkout the 2015_09_03 tag, I am able to successfully
restore and run the same binary without error.

I noticed there was some refactoring of serialize added here in between the
working tag and the latest master: http://reviews.gem5.org/r/2861, however
I wasn't able to narrow down what could be causing the issue.

I tried the suggestion to print out the Syscall debug flags here:
https://www.mail-archive.com/[email protected]/msg13627.html, however the
output just shows that mmap is being called with that range:
12384702000: system.switch_cpus: T0 : syscall mmap2 called w/arguments 0,
65536, 3, 34, 18446744073709551615, 0
12384702000: system.switch_cpus: T0 : syscall  mmap range is 0x3fffff0000 -
0x3fffffffff

I also tried larger memory sizes up to 16GB as well as changing the
maxStackSize in sim/Process.py and max_stack_size in arch/arm/process.cc to
128MB, but the same error persists.

Does anyone have any pointers for how to debug this issue, or has anyone
else had similar issues with gobmk or other spec2006 benchmarks?

Thanks!
Austin
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to