Hi everyone,

 Because I am new to the gem5, maybe some confusions  need your generous help.
I followed the instrucitons according to the www.gem5.org, now I maybe know how 
to run a  fs simulation.
I use the 20.0.0.3 gem5, I also test the latest version and the 19 version, but 
I have encounter some things I cannot understand.


The command line I run as following:
build/X86/gem5.opt configs/example/fs.py --kernel=vmlinux-5.4.49 
--disk=parsec.img --ruby --network=garnet2.0 --num-dirs=16 --num-cpus=16
--mesh-rows=4  --topology=Mesh_XY --cpu-clock=2GHz --sys-clock=2GHz 
--mem-size=2GB --cpu-type=TimingSimpleCPU


When I enter the simulated system, I create a checkpoint by m5 checkpoint 
instrcution.  And then I want to restore with the O3 CPU, but I encounter  the 
core dumped error.The restore command line is as following:


build/X86/gem5.opt -d ../experiments-result/gem5-20/test-boot 
configs/example/fs.py --kernel=vmlinux-5.4.49 --disk=parsec.img --num-cpus=16 
--num-dirs=16 --topology=Mesh_XY --mesh-rows=4 --ruby --network=garnet2.0 
--mem-size=2GB --cpu-clock=2GHz --sys-clock=2GHz --l1i_size=32kB 
--l1d_size=32kB --l2cache --restore-with-cpu=DerivO3CPU -r 1


The error information is following:
gem5 version 20.0.0.3
gem5 compiled Nov 17 2021 18:34:33
gem5 started Nov 23 2021 10:07:55
command line: build/X86/gem5.opt -d ../experiments-result/gem5-20/test-boot 
configs/example/fs.py --kernel=vmlinux-5.4.49 --disk=parsec.img --num-cpus=16 
--num-dirs=16 --topology=Mesh_XY --mesh-rows=4 --ruby --network=garnet2.0 
--mem-size=2GB --cpu-clock=2GHz --sys-clock=2GHz --l1i_size=32kB 
--l1d_size=32kB --l2cache --restore-with-cpu=DerivO3CPU -r 1

Global frequency set at 1000000000000 ticks per second
warn: DRAM device capacity (8192 Mbytes) does not match the address range 
assigned (128 Mbytes)
warn: DRAM device capacity (8192 Mbytes) does not match the address range 
assigned (128 Mbytes)
warn: DRAM device capacity (8192 Mbytes) does not match the address range 
assigned (128 Mbytes)
warn: DRAM device capacity (8192 Mbytes) does not match the address range 
assigned (128 Mbytes)
warn: DRAM device capacity (8192 Mbytes) does not match the address range 
assigned (128 Mbytes)
warn: DRAM device capacity (8192 Mbytes) does not match the address range 
assigned (128 Mbytes)
warn: DRAM device capacity (8192 Mbytes) does not match the address range 
assigned (128 Mbytes)
warn: DRAM device capacity (8192 Mbytes) does not match the address range 
assigned (128 Mbytes)
warn: DRAM device capacity (8192 Mbytes) does not match the address range 
assigned (128 Mbytes)
warn: DRAM device capacity (8192 Mbytes) does not match the address range 
assigned (128 Mbytes)
warn: DRAM device capacity (8192 Mbytes) does not match the address range 
assigned (128 Mbytes)
warn: DRAM device capacity (8192 Mbytes) does not match the address range 
assigned (128 Mbytes)
warn: DRAM device capacity (8192 Mbytes) does not match the address range 
assigned (128 Mbytes)
warn: DRAM device capacity (8192 Mbytes) does not match the address range 
assigned (128 Mbytes)
warn: DRAM device capacity (8192 Mbytes) does not match the address range 
assigned (128 Mbytes)
warn: DRAM device capacity (8192 Mbytes) does not match the address range 
assigned (128 Mbytes)
info: kernel located at: 
/home/zhangmeng/gem5-20/full_system_images/binaries/vmlinux-5.4.49
system.pc.com_1.device: Listening for connections on port 3456
      0: system.pc.south_bridge.cmos.rtc: Real-time clock set to Sun Jan  1 
00:00:00 2012
0: system.remote_gdb: listening for remote gdb on port 7000
0: system.remote_gdb: listening for remote gdb on port 7001
0: system.remote_gdb: listening for remote gdb on port 7002
0: system.remote_gdb: listening for remote gdb on port 7003
0: system.remote_gdb: listening for remote gdb on port 7004
0: system.remote_gdb: listening for remote gdb on port 7005
0: system.remote_gdb: listening for remote gdb on port 7006
0: system.remote_gdb: listening for remote gdb on port 7007
0: system.remote_gdb: listening for remote gdb on port 7008
0: system.remote_gdb: listening for remote gdb on port 7009
0: system.remote_gdb: listening for remote gdb on port 7010
0: system.remote_gdb: listening for remote gdb on port 7011
0: system.remote_gdb: listening for remote gdb on port 7012
0: system.remote_gdb: listening for remote gdb on port 7013
0: system.remote_gdb: listening for remote gdb on port 7014
0: system.remote_gdb: listening for remote gdb on port 7015
warn: Reading current count from inactive timer.
Switch at curTick count:10000
info: Entering event queue @ 0.  Starting simulation...
warn: Replacement policy updates recently became the responsibility of SLICC 
state machines. Make sure to setMRU() near callbacks in .sm files!
5576798155500: system.pc.com_1.device: attach terminal 0
info: Entering event queue @ 5576621531250.  Starting simulation...
Switched CPUS @ tick 5576621541250
switching cpus
info: Entering event queue @ 5576621541250.  Starting simulation...
panic: Possible Deadlock detected. Aborting!
 version: 14 request.paddr: 0x7d598eb0 m_readRequestTable: 1 current time: 
5585791511000 issue_time: 5585291514500 difference: 499996500
Memory Usage: 3038924 KBytes
Program aborted at tick 5585791511000
--- BEGIN LIBC BACKTRACE ---
build/X86/gem5.opt(_Z15print_backtracev+0x2c)[0x55d9304d134c]
build/X86/gem5.opt(_Z12abortHandleri+0x4a)[0x55d9304e2d1a]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12980)[0x7f7919672980]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7)[0x7f7917e80fb7]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x141)[0x7f7917e82921]
build/X86/gem5.opt(+0x595def)[0x55d92f985def]
build/X86/gem5.opt(+0xf3d898)[0x55d93032d898]
build/X86/gem5.opt(_ZN10EventQueue10serviceOneEv+0xa5)[0x55d9304d97a5]
build/X86/gem5.opt(_Z9doSimLoopP10EventQueue+0x87)[0x55d9304fc667]
build/X86/gem5.opt(_Z8simulatem+0xcba)[0x55d9304fd6ba]
build/X86/gem5.opt(+0xcdc291)[0x55d9300cc291]
build/X86/gem5.opt(+0x6cb394)[0x55d92fabb394]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x8010)[0x7f7919921780]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7f7919a5e908]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5bf6)[0x7f791991f366]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7f7919a5e908]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5bf6)[0x7f791991f366]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7f7919a5e908]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5bf6)[0x7f791991f366]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7f7919a5e908]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5bf6)[0x7f791991f366]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7f7919a5e908]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7f79199195d9]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ac0)[0x7f7919920230]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7f7919a5e908]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5bf6)[0x7f791991f366]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7f7919a5e908]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7f79199195d9]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyRun_StringFlags+0x76)[0x7f79199c96f6]
build/X86/gem5.opt(_Z6m5MainiPPc+0x83)[0x55d9304e1813]
build/X86/gem5.opt(main+0x38)[0x55d92f93f538]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7f7917e63bf7]
--- END LIBC BACKTRACE ---
Aborted (core dumped)



Is it mean that I cannot use the checkpoint like this method, I try to figoure 
out what's wrong, but I failed.
Frist I use the AtomicSimpleCPU to accelerate the simulation, but I failed 
again, because I later found that it seemed that this simulation cannot restore 
O3CPU from the AtomicSimpleCPU, which is reported in the Stack Overflow.


Now, I am very confused to this error,  do I need to modify the code?


And the other confusion is about to run benchmark in the fs mode.
The kernel  and disk image I used were downloaded from the gem5-resources, I 
just want to run the PARSEC3.0 to do a test, when I enter the booted system(the 
cpu-type is TimingSimpleCPU or AtomicSimpleCPU) , I can run some applications 
by the parsecmgmt command, I guess this way is almost same with the script, I 
also can get some results, but I cannot know the results whether is right.

How can I partion the applications to the ROI.


And is there have difference between using scripts to run benchmark and using 
related command in the simulated system to run benchmark?

I think is not, because I understand the simulated system is just like a 
Virtual Machine, I can run the benchmark through the command line and then exit 
the system to get the run results? Is this right?


Best regards,
Zhang Yu




_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to