Hi Ayaz,
Thanks very much for your help. Like you said, I recompiled gem5 with
MESI_Two_Level and followed the instructions to compile the kernel 5.4. And I
tried both master branch and develop branch. But none of them work on my laptop
unfortunately. It always gets stuck at booting.
The command I run:
build/X86_MESI_Two_Level/gem5.opt configs/example/fs.py --kernel=vmlinux-5.4
--disk-image=ubuntu-18.img --num-cpus=2 --ruby --cpu-type=DerivO3CPU
Output:
6677144000: system.pc.com_1.device: attach terminal 0
warn: instruction 'sgdt_Ms' unimplemented
warn: x86 cpuid family 0x0000: unimplemented function 6
warn: x86 cpuid family 0x0000: unimplemented function 13
warn: x86 cpuid family 0x8000: unimplemented function 10
warn: x86 cpuid family 0x0000: unimplemented function 6
warn: x86 cpuid family 0x0000: unimplemented function 6
warn: x86 cpuid family 0x0000: unimplemented function 15
warn: x86 cpuid family 0x0000: unimplemented function 15
warn: x86 cpuid family 0x0000: unimplemented function 15
warn: x86 cpuid family 0x0000: unimplemented function 16
warn: x86 cpuid family 0x0000: unimplemented function 16
warn: x86 cpuid family 0x0000: unimplemented function 16
warn: x86 cpuid family 0x8000: unimplemented function 31
warn: x86 cpuid family 0x8000: unimplemented function 31
warn: Address 0xffffffc0 is outside of physical memory, stopping fetch
warn: Address 0xffffffc0 is outside of physical memory, stopping fetch
warn: instruction 'wbinvd' unimplemented
warn: x86 cpuid family 0x0000: unimplemented function 6
warn: x86 cpuid family 0x0000: unimplemented function 13
warn: x86 cpuid family 0x8000: unimplemented function 10
warn: x86 cpuid family 0x0000: unimplemented function 6
warn: x86 cpuid family 0x0000: unimplemented function 6
warn: x86 cpuid family 0x0000: unimplemented function 15
warn: x86 cpuid family 0x0000: unimplemented function 15
warn: x86 cpuid family 0x0000: unimplemented function 15
warn: x86 cpuid family 0x0000: unimplemented function 16
warn: x86 cpuid family 0x8000: unimplemented function 31
warn: x86 cpuid family 0x8000: unimplemented function 31
hack: Assuming logical destinations are 1 << id.
warn: instruction 'fwait' unimplemented
warn: x86 cpuid: unknown family 0x4000
warn: Tried to clear PCI interrupt 14
warn: Write to unknown i8042 (keyboard controller) command port.
warn: instruction 'verw_Mw_or_Rv' unimplemented
warn: MOVNTDQ: Ignoring non-temporal hint, modeling as cacheable!
And the output at the VM terminal:
[ OK ] Reached target Swap.
[ OK ] Listening on Journal Socket (/dev/log).
Starting Journal Service...
[ OK ] Reached target Remote File Systems.
EXT4-fs (hda1): re-mounted. Opts: (null)
[ OK ] Mounted POSIX Message Queue File System.
[ OK ] Mounted Kernel Debug File System.
[ OK ] Mounted Huge Pages File System.
[ OK ] Started Remount Root and Kernel File Systems.
[ OK ] Started Load Kernel Modules.
Mounting Kernel Configuration File System...
Starting Apply Kernel Variables...
Mounting FUSE Control File System...
Starting Load/Save Random Seed...
[ OK ] Started Create Static Device Nodes in /dev.
[ OK ] Reached target Local File Systems (Pre).
[ OK ] Reached target Local File Systems.
[ OK ] Started Journal Service.
[ OK ] Mounted Kernel Configuration File System.
[ OK ] Started Apply Kernel Variables.
[ OK ] Mounted FUSE Control File System.
Starting Flush Journal to Persistent Storage...
[ OK ] Started Load/Save Random Seed.
!!!GET STUCK HERE!!!
Do you know what possible reasons? Thanks!
Best,
Jinpeng
> On Jul 20, 2020, at 10:49 AM, Ayaz Akram <[email protected]
> <mailto:[email protected]>> wrote:
>
> Hi Jinpeng,
>
> First of all, you will have to recompile gem5 to use Ruby with MESI_Two_Level
> (the default protocol is MI_example):
>
> scons build/X86_MESI_Two_Level/gem5.opt --default=X86 PROTOCOL=MESI_Two_Level
>
> Secondly, I will suggest you to compile your kernel following the
> instructions here:
> https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/develop/src/boot-exit/README.md
>
> <https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/develop/src/boot-exit/README.md>
> and use the referred linux config file (your kernel boot log makes me feel
> that it is compiled with a different configuration)
>
> Finally, the current develop branch of gem5 should have the best support to
> boot Linux kernel with different configurations, so you might want to try
> using that as well.
>
> -Ayaz
>
>
> On Mon, Jul 20, 2020 at 8:37 AM Jinpeng Miao via gem5-users
> <[email protected] <mailto:[email protected]>> wrote:
> Hi Hoa,
>
> Thanks so much for your help! I just tested it and it worked perfectly.
>
> Another question is that based on your test
> here(http://www.gem5.org/documentation/benchmark_status/#spec-2017-tests
> <http://www.gem5.org/documentation/benchmark_status/#spec-2017-tests>),
> gem5-20 along with linux-5.4 is able to support 2 O3 CPUs with the protocol
> MESI_Two-Level. But I cannot boot it successfully. It just stop running
> further at one point but not terminated either.
>
> The command I run:
> build/X86/gem5.opt configs/example/fs.py --kernel=vmlinux-5.4
> --disk-image=ubuntu-18.04.img --num-cpus=2 --ruby --cpu-type=DerivO3CPU
>
> Output:
> warn: instruction 'sgdt_Ms' unimplemented
> warn: x86 cpuid family 0x0000: unimplemented function 6
> warn: x86 cpuid family 0x0000: unimplemented function 6
> warn: x86 cpuid family 0x0000: unimplemented function 6
> warn: Address 0xffffffc0 is outside of physical memory, stopping fetch
> warn: Address 0xffffffc0 is outside of physical memory, stopping fetch
> warn: instruction 'wbinvd' unimplemented
> warn: x86 cpuid family 0x0000: unimplemented function 6
> warn: x86 cpuid family 0x0000: unimplemented function 6
> warn: x86 cpuid family 0x0000: unimplemented function 6
> hack: Assuming logical destinations are 1 << id.
> warn: x86 cpuid: unknown family 0x4000
> warn: instruction 'fwait’ unimplemented
>
> And the output at the VM terminal:
> [ 0.383486] check: Scanning for low memory corruption every 60 seconds
> [ 0.383705] Initialise system trusted keyrings
> [ 0.383705] Key type blacklist registered
> [ 0.383705] workingset: timestamp_bits=36 max_order=17 bucket_order=0
> [ 0.388387] zbud: loaded
> [ 0.389302] squashfs: version 4.0 (2009/01/31) Phillip Lougher
> [ 0.389737] fuse: init (API version 7.31)
> [ 0.389737] *** VALIDATE fuse ***
> [ 0.389737] *** VALIDATE fuse ***
> [ 0.389737] Platform Keyring initialized
> [ 0.393641] Key type asymmetric registered
> [ 0.393641] Asymmetric key parser 'x509' registered
> [ 0.393641] Block layer SCSI generic (bsg) driver version 0.4 loaded
> (major 244)
> [ 0.393641] io scheduler mq-deadline registered
> [ 0.393641] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
> !!! HERE STOP MOVING FURTHER !!!
>
> Could anyone give some hints on how to solve this problem? Really appreciate
> it!
>
> Thanks,
> Jinpeng
>
>
>> On Jul 17, 2020, at 3:11 PM, Hoa Nguyen <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>> Hi Jinpeng,
>>
>> The error seems to cause by 'sysinfo', which is called by SPEC 2017
>> before it starts running a workload. SPEC 2017 documents how to turn
>> it off here: https://www.spec.org/cpu2017/Docs/utility.html#sysinfo
>> <https://www.spec.org/cpu2017/Docs/utility.html#sysinfo>.
>>
>> Basically, the fix is to add this line:
>>
>> sysinfo_program =
>>
>> to the SPEC config file. The SPEC config file used in the tutorial is
>> /home/gem5/spec2017/config/myconfig.x86.cfg
>>
>> Regards,
>> Hoa Nguyen
>>
>> On 7/17/20, Jinpeng Miao via gem5-users <[email protected]
>> <mailto:[email protected]>> wrote:
>>> Hello all,
>>>
>>> I am trying to build and run CPU SPEC 2017 benchmarks in the FS mode, but
>>> the process terminated unexpectedly with an error happening in i8237 DMA
>>> controller. I did not change the source code. I do not quite understand what
>>> causes this bug and how to fix it. Any help would be really appreciated.
>>> Thanks!
>>>
>>> Output as below:
>>>
>>> **** REAL SIMULATION ****
>>> info: Entering event queue @ 0. Starting simulation...
>>> warn: x86 cpuid family 0x0000: unimplemented function 6
>>> warn: x86 cpuid family 0x0000: unimplemented function 6
>>> warn: x86 cpuid family 0x0000: unimplemented function 6
>>> warn: instruction 'fninit' unimplemented
>>> warn: Don't know what interrupt to clear for console.
>>> 3575291925: system.pc.com_1.device: attach terminal 0
>>> warn: instruction 'sgdt_Ms' unimplemented
>>> warn: x86 cpuid family 0x0000: unimplemented function 6
>>> warn: x86 cpuid family 0x0000: unimplemented function 6
>>> warn: x86 cpuid family 0x0000: unimplemented function 6
>>> warn: x86 cpuid: unknown family 0x4000
>>> warn: Tried to clear PCI interrupt 14
>>> warn: Write to unknown i8042 (keyboard controller) command port.
>>> warn: instruction 'verw_Mw_or_Rv' unimplemented
>>> warn: instruction 'verw_Mw_or_Rv' unimplemented
>>> warn: instruction 'verw_Mw_or_Rv' unimplemented
>>> warn: MOVNTDQ: Ignoring non-temporal hint, modeling as cacheable!
>>> warn: instruction 'fwait' unimplemented
>>> warn: x86 cpuid: unknown family 0x4000
>>> gem5.opt: build/X86/dev/x86/i8237.cc:39 <http://i8237.cc:39/>: virtual Tick
>>> X86ISA::I8237::read(PacketPtr): Assertion `pkt->getSize() == 1' failed.
>>> Program aborted at tick 97564380133230
>>> --- BEGIN LIBC BACKTRACE ---
>>> build/X86/gem5.opt(_Z15print_backtracev+0x2c)[0x55845afa2dfc]
>>> build/X86/gem5.opt(_Z12abortHandleri+0x4a)[0x55845afb503a]
>>> /lib/x86_64-linux-gnu/libpthread.so.0(+0x128a0)[0x7f14140d88a0]
>>> /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7)[0x7f14122adf47]
>>> /lib/x86_64-linux-gnu/libc.so.6(abort+0x141)[0x7f14122af8b1]
>>> /lib/x86_64-linux-gnu/libc.so.6(+0x3042a)[0x7f141229f42a]
>>> /lib/x86_64-linux-gnu/libc.so.6(+0x304a2)[0x7f141229f4a2]
>>> build/X86/gem5.opt(_ZN6X86ISA5I82374readEP6Packet+0x70)[0x55845aea7510]
>>> build/X86/gem5.opt(_ZThn64_N7PioPortI9PioDeviceE10recvAtomicEP6Packet+0x45)[0x55845b584885]
>>> build/X86/gem5.opt(_ZN15NoncoherentXBar18recvAtomicBackdoorEP6PacketsPP11MemBackdoor+0x49b)[0x55845a7a4a0b]
>>> build/X86/gem5.opt(_ZN6Bridge15BridgeSlavePort10recvAtomicEP6Packet+0x5a)[0x55845a77c5ea]
>>> build/X86/gem5.opt(_ZN12CoherentXBar18recvAtomicBackdoorEP6PacketsPP11MemBackdoor+0x907)[0x55845a785f17]
>>> build/X86/gem5.opt(_ZN5Cache19handleAtomicReqMissEP6PacketRP8CacheBlkRNSt7__cxx114listIS1_SaIS1_EEE+0x1b7)[0x55845b59df47]
>>> build/X86/gem5.opt(_ZN9BaseCache10recvAtomicEP6Packet+0x3c3)[0x55845b59afa3]
>>> build/X86/gem5.opt(_ZN5Cache10recvAtomicEP6Packet+0x173)[0x55845b5a3bb3]
>>> build/X86/gem5.opt(_ZN12CoherentXBar18recvAtomicBackdoorEP6PacketsPP11MemBackdoor+0x907)[0x55845a785f17]
>>> build/X86/gem5.opt(_ZN5Cache19handleAtomicReqMissEP6PacketRP8CacheBlkRNSt7__cxx114listIS1_SaIS1_EEE+0x1b7)[0x55845b59df47]
>>> build/X86/gem5.opt(_ZN9BaseCache10recvAtomicEP6Packet+0x3c3)[0x55845b59afa3]
>>> build/X86/gem5.opt(_ZN5Cache10recvAtomicEP6Packet+0x173)[0x55845b5a3bb3]
>>> build/X86/gem5.opt(_ZN15AtomicSimpleCPU7readMemEmPhj5FlagsImERKSt6vectorIbSaIbEE+0x324)[0x55845a940604]
>>> build/X86/gem5.opt(_ZN17SimpleExecContext7readMemEmPhj5FlagsImERKSt6vectorIbSaIbEE+0x5f)[0x55845a956dbf]
>>> build/X86/gem5.opt(+0xbe1213)[0x55845ad72213]
>>> build/X86/gem5.opt(_ZNK10X86ISAInst5LdBig7executeEP11ExecContextPN5Trace10InstRecordE+0x16f)[0x55845ad94a7f]
>>> build/X86/gem5.opt(_ZN15AtomicSimpleCPU4tickEv+0x54a)[0x55845a93dd2a]
>>> build/X86/gem5.opt(_ZN10EventQueue10serviceOneEv+0xd9)[0x55845afab2a9]
>>> build/X86/gem5.opt(_Z9doSimLoopP10EventQueue+0x87)[0x55845afcc867]
>>> build/X86/gem5.opt(_Z8simulatem+0xcba)[0x55845afcd8ba]
>>> build/X86/gem5.opt(+0x1133de1)[0x55845b2c4de1]
>>> build/X86/gem5.opt(+0x796d64)[0x55845a927d64]
>>> build/X86/gem5.opt(PyEval_EvalFrameEx+0x6371)[0x55845b8fa5b1]
>>> build/X86/gem5.opt(PyEval_EvalCodeEx+0x7a0)[0x55845b8fdcd0]
>>> build/X86/gem5.opt(PyEval_EvalFrameEx+0x643b)[0x55845b8fa67b]
>>> --- END LIBC BACKTRACE ---
>>> Aborted (core dumped)
>>>
>>>
>
> _______________________________________________
> gem5-users mailing list -- [email protected] <mailto:[email protected]>
> To unsubscribe send an email to [email protected]
> <mailto:[email protected]>
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
_______________________________________________
gem5-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s