On Fri, Apr 20, 2018 at 12:12 AM, Singh, G. <g.si...@tue.nl> wrote:
> Hi Ciro,
> I feel its something with SE mode maybe.
> Now I tried to run on a latest git repository and I get syscall unimplemented 
> errors. I tried to work around by changing "unimplemented" to "ignore" in 
> process.cc. But then I get different syscall error.
>
> I am compiling the code on an arm server with just -fopenmp and -static 
> flags. Am I missing something?
>

Ah OK, I'm not yet familiar with the config files and didn't look into
your config in detail, I didn't see you are in SE mode.

When asking SE questions, it is a good idea to put that on the title ;-)

Threading is quirky / does not work in SE mode, see links at:
https://github.com/cirosantilli-work/gem5-issues/issues/5

I myself have never been able to get it running from se.py due to:
https://stackoverflow.com/questions/48959349/how-to-solve-fatal-kernel-too-old-when-running-gem5-in-syscall-emulation-se-m

> Best
> Gagan
>
> -----Original Message-----
> From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of Ciro 
> Santilli
> Sent: Friday, 20 April 2018 00:22
> To: gem5 users mailing list <gem5-users@gem5.org>
> Subject: Re: [gem5-users] Multi-threading on ARM timing CPU
>
> On Thu, Apr 19, 2018 at 11:08 PM, Singh, G. <g.si...@tue.nl> wrote:
>> Hi Ciro,
>>
>> Sorry for the late response. I had a lot of trouble setting up linux kernel 
>> module on my server.
>> Indeed it works there.
>>
>> But I have added NVMain with gem5 on my system. So I was hoping if can fix 
>> this issue on my setup.
>> I am still trying to figure out why it keeps on failing.
>>
>
> No problem, I provided that mainly as a working baseline, so now you can diff 
> out the working setup with yours to find the problem more easily :-)
>
> Also consider the docker setup if you are having installation
> difficulties: 
> https://github.com/cirosantilli/linux-kernel-module-cheat/tree/36cffd5c1a6e081194610d1d77a43a863f1d1157#docker
>
>> My gem5 version is a mercurial directory.
>> This the summary I get
>>
>> parent: 11775:0eadb0b6e9de tip
>>
>>
>> Best
>> Gagan
>> -----Original Message-----
>> From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of
>> Ciro Santilli
>> Sent: Tuesday, 17 April 2018 14:41
>> To: gem5 users mailing list <gem5-users@gem5.org>
>> Subject: Re: [gem5-users] Multi-threading on ARM timing CPU
>>
>> On Tue, Apr 17, 2018 at 10:15 AM, Singh, G. <g.si...@tue.nl> wrote:
>>> Hi,
>>>
>>> Please find enclosed the script file and the program code for matrix 
>>> multiplication which I tried.
>>>
>>
>> Thanks.
>>
>> Which disk image / kernel are you using?
>>
>> I have produced a working fs.py aarch64 example at:
>> https://github.com/cirosantilli/linux-kernel-module-cheat/tree/singh-m
>> m#gem5-getting-started (use the singh-mm branch I've created)
>>
>> Build and run with:
>>
>> ./configure -g && ./build -a aarch64 -g && ./run -a aarch64 -c 4 -g --
>> --cpu-type=TimingSimpleCPU
>>
>> which uses 4 cores and TimingSimpleCPU.
>>
>> After boot finishes, run your benchmark inside the guest with:
>>
>> /MM.out
>>
>> It completes without errors.
>>
>> The setup also worked on arm instead of aarch64, but my arm setup is running 
>> very slowly for some reason which I don't understand yet:
>> https://github.com/cirosantilli/linux-kernel-module-cheat/tree/02b433e
>> 3ee8edb129c1e286a37ed2c8a8170fefe#benchmark-linux-kernel-boot
>> so just use the aarch64 one if you can.
>>
>> You will also likely want to enable compiler optimizations as
>> described at:
>> https://github.com/cirosantilli/linux-kernel-module-cheat/tree/02b433e
>> 3ee8edb129c1e286a37ed2c8a8170fefe#enable-compiler-optimizations
>> but I haven't tested it with that setup.
>>
>>> On running gem5 binary with --version option I get "Gem5.opt 2.0".
>>>
>>
>> Please provide the actual git SHA from git log, --version is not updated 
>> often and therefore too imprecise.
>>
>>> I tried running a simple hello world program with se.py and got the
>>> same error. This is the command line I used for it
>>> ../gem5/build/ARM/gem5.opt ../gem5/configs/example/se.py
>>> --cpu-type=TimingSimpleCPU --num-cpus=4 --num-work-ids=3 -c hello3
>>> --caches --l1d_size=2kB --l1i_size=2kB --l2cache --l2_size=2kB
>>>
>>> But if I use DerivO3CPU it works fine.
>>>
>>> Best
>>> Gagan
>>>
>>> -----Original Message-----
>>> From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of
>>> Ciro Santilli
>>> Sent: Tuesday, 17 April 2018 10:04
>>> To: gem5 users mailing list <gem5-users@gem5.org>
>>> Subject: Re: [gem5-users] Multi-threading on ARM timing CPU
>>>
>>> On Tue, Apr 17, 2018 at 8:10 AM, Singh, G. <g.si...@tue.nl> wrote:
>>>> Hi All,
>>>>
>>>>
>>>>
>>>> I am trying to run a simple multi-threaded program on ARM processor
>>>> with 4 cpu's and 4 threads.
>>>>
>>>> This program works perfectly for DerivO3CPU but the same program on
>>>> timing model gives the errors given
>>>>
>>>> below.  Actually I get the correct result but the program run does
>>>> not complete.
>>>>
>>>
>>> Please provide the following:
>>>
>>> - gem5 version (git SHA)
>>> - full gem5 command line
>>> - how to obtain the required blobs (rootfs, dtb, etc.)
>>>
>>> What program are you running? Does it fail on every multithreaded program, 
>>> or just this partiular one? Can you produce a minimal single C file example 
>>> that also fails and give us the source?
>>>
>>>>
>>>>
>>>> Also, is there an option to simulate multithreaded code with each
>>>> thread on different processor using se.py?
>>>>
>>>
>>> Please ask one question per email in the future to make answers more
>>> reusable for other people. ;-) (I don't know the answer to this one
>>> yet)
>>>
>>>> Right now I am writing a new script file.
>>>>
>>>>
>>>>
>>>> gem5.opt: build/ARM/cpu/simple/timing.cc:237: virtual void
>>>> TimingSimpleCPU::suspendContext(ThreadID): Assertion `_status ==
>>>> BaseSimpleCPU::Running' failed.
>>>>
>>>> Program aborted at tick 4576216124000
>>>>
>>>> --- BEGIN LIBC BACKTRACE ---
>>>>
>>>> ../../tools/gem5/build/ARM/gem5.opt(_Z15print_backtracev+0x28)[0xb05
>>>> d
>>>> 2
>>>> 8]
>>>>
>>>> ../../tools/gem5/build/ARM/gem5.opt(_Z12abortHandleri+0x46)[0xb24396
>>>> ]
>>>>
>>>> /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7efd25543390]
>>>>
>>>> /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7efd24269428]
>>>>
>>>> /lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7efd2426b02a]
>>>>
>>>> /lib/x86_64-linux-gnu/libc.so.6(+0x2dbd7)[0x7efd24261bd7]
>>>>
>>>> /lib/x86_64-linux-gnu/libc.so.6(+0x2dc82)[0x7efd24261c82]
>>>>
>>>> ../../tools/gem5/build/ARM/gem5.opt(_ZN15TimingSimpleCPU14suspendCon
>>>> t
>>>> e
>>>> xtEs+0x335)[0xfe1035]
>>>>
>>>> ../../tools/gem5/build/ARM/gem5.opt(_Z13exitGroupFuncP11SyscallDesci
>>>> P
>>>> 1
>>>> 1LiveProcessP13ThreadContext+0x57)[0xb85677]
>>>>
>>>> ../../tools/gem5/build/ARM/gem5.opt(_ZN11SyscallDesc9doSyscallEiP11L
>>>> i
>>>> v
>>>> eProcessP13ThreadContext+0xa8)[0xb8afe8]
>>>>
>>>> ../../tools/gem5/build/ARM/gem5.opt(_ZN11LiveProcess7syscallElP13Thr
>>>> e
>>>> a
>>>> dContext+0x49)[0xb7bc09]
>>>>
>>>> ../../tools/gem5/build/ARM/gem5.opt(_ZN6ArmISA14SupervisorCall6invok
>>>> e
>>>> E
>>>> P13ThreadContextRK14RefCountingPtrI10StaticInstE+0x6a)[0xd8317a]
>>>>
>>>> ../../tools/gem5/build/ARM/gem5.opt(_ZN13BaseSimpleCPU9advancePCERKS
>>>> t
>>>> 1 0shared_ptrI9FaultBaseE+0x104)[0xfe27a4]
>>>>
>>>> ../../tools/gem5/build/ARM/gem5.opt(_ZN15TimingSimpleCPU11advanceIns
>>>> t E RKSt10shared_ptrI9FaultBaseE+0x39)[0xfded49]
>>>>
>>>> ../../tools/gem5/build/ARM/gem5.opt(_ZN15TimingSimpleCPU14completeIf
>>>> e
>>>> t
>>>> chEP6Packet+0x1d9)[0xfdf149]
>>>>
>>>> ../../tools/gem5/build/ARM/gem5.opt(_ZN10EventQueue10serviceOneEv+0x
>>>> b
>>>> 1
>>>> )[0xb14a21]
>>>>
>>>> ../../tools/gem5/build/ARM/gem5.opt(_Z9doSimLoopP10EventQueue+0x50)[
>>>> 0
>>>> x
>>>> b42020]
>>>>
>>>> ../../tools/gem5/build/ARM/gem5.opt(_Z8simulatem+0x203)[0xb425f3]
>>>>
>>>> ../../tools/gem5/build/ARM/gem5.opt[0x1053802]
>>>>
>>>> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x7
>>>> 8
>>>> 5
>>>> 2)[0x7efd25800772]
>>>>
>>>> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85
>>>> c
>>>> )
>>>> [0x7efd2593705c]
>>>>
>>>> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6
>>>> f
>>>> f
>>>> d)[0x7efd257fff1d]
>>>>
>>>> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x7
>>>> 1
>>>> 2
>>>> 4)[0x7efd25800044]
>>>>
>>>> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x7
>>>> 1
>>>> 2
>>>> 4)[0x7efd25800044]
>>>>
>>>> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85
>>>> c
>>>> )
>>>> [0x7efd2593705c]
>>>>
>>>> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[
>>>> 0
>>>> x
>>>> 7efd257f8da9]
>>>>
>>>> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6
>>>> 1
>>>> 3
>>>> b)[0x7efd257ff05b]
>>>>
>>>> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85
>>>> c
>>>> )
>>>> [0x7efd2593705c]
>>>>
>>>> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6
>>>> f
>>>> f
>>>> d)[0x7efd257fff1d]
>>>>
>>>> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85
>>>> c
>>>> )
>>>> [0x7efd2593705c]
>>>>
>>>> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[
>>>> 0
>>>> x
>>>> 7efd257f8da9]
>>>>
>>>> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyRun_StringFlags+0x76
>>>> )
>>>> [
>>>> 0x7efd258731f6]
>>>>
>>>> --- END LIBC BACKTRACE ---
>>>>
>>>> Aborted (core dumped)
>>>>
>>>>
>>>>
>>>> Best
>>>>
>>>> Gagan
>>>>
>>>>
>>>> _______________________________________________
>>>> gem5-users mailing list
>>>> gem5-users@gem5.org
>>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>> _______________________________________________
>>> gem5-users mailing list
>>> gem5-users@gem5.org
>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>>
>>> _______________________________________________
>>> gem5-users mailing list
>>> gem5-users@gem5.org
>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>> _______________________________________________
>> gem5-users mailing list
>> gem5-users@gem5.org
>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>> _______________________________________________
>> gem5-users mailing list
>> gem5-users@gem5.org
>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
> _______________________________________________
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
> _______________________________________________
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to