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-mm#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/02b433e3ee8edb129c1e286a37ed2c8a8170fefe#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/02b433e3ee8edb129c1e286a37ed2c8a8170fefe#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)[0xb05d
>>> 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(_ZN15TimingSimpleCPU14suspendCont
>>> e
>>> xtEs+0x335)[0xfe1035]
>>>
>>> ../../tools/gem5/build/ARM/gem5.opt(_Z13exitGroupFuncP11SyscallDesciP
>>> 1
>>> 1LiveProcessP13ThreadContext+0x57)[0xb85677]
>>>
>>> ../../tools/gem5/build/ARM/gem5.opt(_ZN11SyscallDesc9doSyscallEiP11Li
>>> v
>>> eProcessP13ThreadContext+0xa8)[0xb8afe8]
>>>
>>> ../../tools/gem5/build/ARM/gem5.opt(_ZN11LiveProcess7syscallElP13Thre
>>> a
>>> dContext+0x49)[0xb7bc09]
>>>
>>> ../../tools/gem5/build/ARM/gem5.opt(_ZN6ArmISA14SupervisorCall6invoke
>>> E
>>> P13ThreadContextRK14RefCountingPtrI10StaticInstE+0x6a)[0xd8317a]
>>>
>>> ../../tools/gem5/build/ARM/gem5.opt(_ZN13BaseSimpleCPU9advancePCERKSt
>>> 1 0shared_ptrI9FaultBaseE+0x104)[0xfe27a4]
>>>
>>> ../../tools/gem5/build/ARM/gem5.opt(_ZN15TimingSimpleCPU11advanceInst
>>> E RKSt10shared_ptrI9FaultBaseE+0x39)[0xfded49]
>>>
>>> ../../tools/gem5/build/ARM/gem5.opt(_ZN15TimingSimpleCPU14completeIfe
>>> t
>>> chEP6Packet+0x1d9)[0xfdf149]
>>>
>>> ../../tools/gem5/build/ARM/gem5.opt(_ZN10EventQueue10serviceOneEv+0xb
>>> 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+0x78
>>> 5
>>> 2)[0x7efd25800772]
>>>
>>> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c
>>> )
>>> [0x7efd2593705c]
>>>
>>> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6f
>>> f
>>> d)[0x7efd257fff1d]
>>>
>>> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x71
>>> 2
>>> 4)[0x7efd25800044]
>>>
>>> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x71
>>> 2
>>> 4)[0x7efd25800044]
>>>
>>> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c
>>> )
>>> [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+0x61
>>> 3
>>> b)[0x7efd257ff05b]
>>>
>>> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c
>>> )
>>> [0x7efd2593705c]
>>>
>>> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6f
>>> f
>>> d)[0x7efd257fff1d]
>>>
>>> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c
>>> )
>>> [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

Reply via email to