[gem5-users] L1 dcache misses with full-system simulation

2018-06-03 Thread Choe, Jiwon
Hi,

I am running some multicore, multithreaded benchmarks (1 thread/core) on a
gem5 full-system simulation, and I am having trouble interpreting the data
cache misses that I am seeing.

As far as I am concerned, the threads do not share any data. However, I am
seeing an increase in data cache misses concentrated at a certain address
with more threads.
I looked into the packet requests that cause the cache misses, and the
virtual and phyisical address of the requests are the same. Because of
this, I am wildly guessing that the misses might be due to some OS
interaction, but I might be completely off.

This might be a long shot, but has anyone seen similar behavior with
multithreaded full-system simulations? I would really appreciate any advice
or help.

Thanks in advance,
Jiwon
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Re: [gem5-users] execution problem hello.c in architecture armv8 big.LITTLE

2018-06-03 Thread Ciro Santilli
Sorry, those images are undocumented and I don't know how they are
generated + parsec is highly unmaintained and not made with cross
compilation in mind.

The best advice I can give at the moment is: use my setup:
https://github.com/cirosantilli/linux-kernel-module-cheat/tree/16de55dd2f89ae44c1ee0fee1c39d23ee2b36b13#parsec-benchmark
which I understand and have clearly documented what works and what
does not.

In the future I might try to understand the state of the current
images and contribute better ones / documentation.

On Sun, Jun 3, 2018 at 1:02 PM, commerce _com  wrote:
> hi ciro,
>
> is there is another solution to solve this problem please, because the
> execution of the kernel is normal, but the problem is that I think it does
> not know the comandes line as cd in the script.Rcs, and here is the problem
> I found:
> for the command "ls" it works normal
>
> here are the image disk files
>
> bin dev home lost + found mnt proc run srv tmp var
> boot etc lib media root opt sbin sys usr
>
> but for "cd root" it blocked
> / tmp / script: line 5: cd: root: No such file or directory
>
>
> thanks advance,
>
> com_.
>
> 2018-06-01 14:48 GMT+01:00 commerce _com :
>>
>> Hi Oscar,
>>
>> I tried this script and I think the same problem:
>> #! / Bin / bash
>> ls
>> cd / home /
>> ls
>> cd root
>> ls
>> cd parsec
>> ./Hello
>>
>> Here is the result obtained:
>> bin dev home lost + found mnt proc run srv tmp var
>> boot etc lib media root opt sbin sys usr
>> / tmp / script: line 5: cd: root: No such file or directory
>> / tmp / script: line 7: cd: parsec: No such file or directory
>> / tmp / script: line 8: ./hello: No such file or directory
>>
>> here is my system.terminal file
>>
>> thanks advance.
>>
>> com_.
>>
>> 2018-06-01 10:31 GMT+02:00 Oscar Rosell :
>>>
>>> Hi,
>>>
>>> The important line is this one:
>>>
>>> / tmp / script: line 3: cd: / home / root / parsec: No such file or
>>> directory
>>>
>>> No way you can get the binary running if you cannot cd to the directory
>>> where the binary is located. That has no relation with how the binary was
>>> compiled.
>>>
>>> My intuition is that the directory is in fact "/root/parsec". It's just a
>>> guess based on the absence of home directory for root user in my Ubuntu
>>> (although I don't know which image you're using). To be sure just add an ls
>>> to show the directory at each point like this:
>>>
>>> PARSEC_DIR = "/ home / root / parsec"
>>> ls
>>> cd /home/
>>> ls
>>> cd root
>>> ls
>>> cd parse
>>> ls
>>>
>>>
>>> On 01/06/18 08:45, Ciro Santilli wrote:

 This is not required, the best thing to do is to find what is the
 proper compatible cross compiler for the image:

 https://stackoverflow.com/questions/31929092/trying-to-run-a-cross-compiled-executable-on-target-device-fails-with-no-such-f/49993116#49993116

 On Fri, Jun 1, 2018 at 6:34 AM, Tung Hoang 
 wrote:
>
> You may need “-static” for arm cross-compiling.
>
> /T
>
> On Thu, May 31, 2018 at 3:19 PM commerce _com
> 
> wrote:
>>
>> Hi ciro,
>>
>> I'm sure the binary of the compilation  is in the image on the path: /
>> home / root / parsec
>>
>> but I did not understand how to solve this problem; Please.
>>
>>
>> com_.
>>
>> 2018-05-31 23:02 GMT+02:00 Ciro Santilli :
>>>
>>> Likely incompatible compiler using wrong dynamic loader, do "file
>>> hello", see "interpreter /some/path", and check if "/some/path" is
>>> present on guest.
>>>
>>> On Thu, May 31, 2018 at 9:33 PM, commerce _com
>>> 
>>> wrote:

 Hi all,

 i need to run hello.c in an architecture armv8 big.LITTLE
 I compile hello_word.c by a crosscompiler here is the command:
 arm-linux-gnueabihf-gcc hello.c -o hello

 I added the binarie of the compilation to the linaro aarch64 image,
 with I
 generated this .rcs script as follows:
 #! / Bin / bash
 PARSEC_DIR = "/ home / root / parsec"
 cd $ PARSEC_DIR
 pwd
 ./Hello

 I typed the following command:

 sudo build / ARM / gem5.opt configs / example / arm /
 fs_bigLITTLE.py
 --kernel = / media / ali / ali / gem5-master / aarch-system-20180409
 /
 binaries / vmlinux.vexpress_gem5_v1_64 --dtb = / media / ali / ali /
 gem5-master / aarch-system-20180409 / binaries /
 armv8_gem5_v1_big_little_2_2.dtb --bootscript = / home / ali /
 desktop
 /
 rcs_file / parsec_rcs / hello.rcS - caches

 the execution of the kernel it works normal but when it passes the
 stage of
 execution of the hello I found this result:

 / tmp / script: line 3: cd: / home / root / parsec: No such file or
 directory
 /
 / tmp / script: line 5: ./hello: No such file or directory

 d

Re: [gem5-users] Error in running Moby(Asimbench) benchmark in gem5

2018-06-03 Thread Mitali Sinha
@Haeyoon Cho sorry for late reply.

I tried making the changes as follows:
gem5/configs/common/FSConfig.py:
 default_dtbs = {
"RealViewEB": None,
"RealViewPBX": None,
"VExpress_EMM": "armv7_gem5_v1_%dcpu.20170616.dtb" % num_cpus,
"VExpress_EMM64": "vexpress.aarch64.20140821.dtb",
}

default_kernels = {
"RealViewEB": "vmlinux.arm.smp.fb.2.6.38.8",
"RealViewPBX": "vmlinux.smp.ics.arm.asimbench.2.6.35",
"VExpress_EMM64": "vmlinux.aarch64.20140821",
}

Then, I ran the following command:
build/ARM/gem5.opt configs/example/fs.py --os-type=android-ics
--machine-type=RealView_PBX --mem-size=512 --cpu-type=MinorCPU --caches
--disk-image=/home/sujay/gem5/full_system_asimbench/disks/ARMv7a-ICS-Android.SMP.Asimbench-v3.img
--kernel=/home/sujay/gem5/full_system_asimbench/binaries/vmlinux.smp.ics.arm.asimbench.2.6.35
--dtb-filename=/home/sujay/gem5/full_system_asimbench/binaries/armv7_gem5_v1_1cpu.dtb
--script=/home/sujay/gem5/full_system_asimbench/asimbench_boot_scripts/adobe.rcS

It gives the following error:
--- BEGIN LIBC BACKTRACE ---
build/ARM/gem5.opt(_Z15print_backtracev+0x28)[0xd99e78]
build/ARM/gem5.opt(_Z12abortHandleri+0x46)[0xdac9f6]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f5eb6c93390]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7f5eb569b428]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7f5eb569d02a]
build/ARM/gem5.opt[0x939dcf]
build/ARM/gem5.opt[0x123ff36]
build/ARM/gem5.opt(_ZN8DRAMCtrl4initEv+0x20)[0x12626e0]
build/ARM/gem5.opt[0x11c065a]
build/ARM/gem5.opt[0xa224b7]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6f55)[0x7f5eb6f4fe65]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7f5eb708704c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7f5eb6f4ff0d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7f5eb708704c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7f5eb6f4ff0d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7f5eb708704c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7f5eb6f48d99]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x613b)[0x7f5eb6f4f04b]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7f5eb708704c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7f5eb6f4ff0d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7f5eb708704c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7f5eb6f48d99]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyRun_StringFlags+0x76)[0x7f5eb6fc31e6]
build/ARM/gem5.opt(_Z6m5MainiPPc+0x8f)[0xdab3ef]
build/ARM/gem5.opt(main+0x33)[0x8ba673]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f5eb5686830]
build/ARM/gem5.opt(_start+0x29)[0x8f6e19]
--- END LIBC BACKTRACE ---
Aborted (core dumped)



I don't know if I am doing it correctly. Also I am not sure if I am using
the correct dtb files and boot_emm.arm files that I have collected from
http://www.gem5.org/dist/current/arm/aarch-system-20180409.tar.xz.
 image.

Please help.


On Tue, May 29, 2018 at 8:43 PM, 조해윤  wrote:

> Dear Mitali Sinha.
>
> In my case, I run moby bench with RealView_PBX machine type.
> I don't know if it is the cause, but give it a try.
>
> Best Regard,
> Haeyoon Cho.
>
> 2018-05-29 20:39 GMT+09:00 Mitali Sinha :
>
>> I have followed the instructions provided in the gem5.org website to run
>> the Moby benchmarks on gem5 as follows:
>>
>> 1.  Downloaded the Asimbench from https://bitbucket.org/yongbing
>> _huang/asimbench/downloads/ which contains the following folders and
>> files:
>>  1.  asimbench_android_arm_kernel : vmlinux.smp.ics.arm.asimbench.
>> 2.6.35
>>  2.  asimbench_boot_scripts : contains the rcs scripts for
>> different benchmarks
>>  3.  asimbench_disk_image :  ARMv7a-ICS-Android.SMP.Asimbench-v3.img;
>> sdcard-1g-mxplayer.img
>>
>> 2.  I have used the "armv7_gem5_v1_1cpu.dtb" and "boot_emm.arm" binaries
>> downloaded from http://www.gem5.org/dist/current/arm/
>> aarch-system-20180409.tar.xz.
>> 
>>
>> 3.  Made the following changes in the config/common/FSConfig.py :
>>
>> def makeArmSystem(..)
>> .
>> self.cf0 = CowIdeDisk(driveID='master')
>> self.cf2 = CowIdeDisk(driveID='master')
>> self.cf0.childImage(mdesc.disk())
>> self.cf2.childImage(disk("sdcard-1g-mxplayer.img"))
>> # Old platforms have a built-in IDE or CF controller. Default to
>> # the IDE controller if both exist. New platforms expect the
>> # storage controller to be added from the config script.
>> if hasattr(self.realview, "ide"):
>> #self.realview.ide.disks = [self.cf0]
>> self.realvi

Re: [gem5-users] execution problem hello.c in architecture armv8 big.LITTLE

2018-06-03 Thread commerce _com
hi ciro,

is there is another solution to solve this problem please, because the
execution of the kernel is normal, but the problem is that I think it does
not know the comandes line as cd in the script.Rcs, and here is the problem
I found:
for the command "ls" it works normal

here are the image disk files

bin dev home lost + found mnt proc run srv tmp var
boot etc lib media root opt sbin sys usr

but for "cd root" it blocked
/ tmp / script: line 5: cd: root: No such file or directory


thanks advance,

com_.

2018-06-01 14:48 GMT+01:00 commerce _com :

> Hi Oscar,
>
> I tried this script and I think the same problem:
> #! / Bin / bash
> ls
> cd / home /
> ls
> cd root
> ls
> cd parsec
> ./Hello
>
> Here is the result obtained:
> bin dev home lost + found mnt proc run srv tmp var
> boot etc lib media root opt sbin sys usr
> / tmp / script: line 5: cd: root: No such file or directory
> / tmp / script: line 7: cd: parsec: No such file or directory
> / tmp / script: line 8: ./hello: No such file or directory
>
> here is my system.terminal file
>
> thanks advance.
>
> com_.
>
> 2018-06-01 10:31 GMT+02:00 Oscar Rosell :
>
>> Hi,
>>
>> The important line is this one:
>>
>> / tmp / script: line 3: cd: / home / root / parsec: No such file or
>> directory
>>
>> No way you can get the binary running if you cannot cd to the directory
>> where the binary is located. That has no relation with how the binary was
>> compiled.
>>
>> My intuition is that the directory is in fact "/root/parsec". It's just a
>> guess based on the absence of home directory for root user in my Ubuntu
>> (although I don't know which image you're using). To be sure just add an ls
>> to show the directory at each point like this:
>>
>> PARSEC_DIR = "/ home / root / parsec"
>> ls
>> cd /home/
>> ls
>> cd root
>> ls
>> cd parse
>> ls
>>
>>
>> On 01/06/18 08:45, Ciro Santilli wrote:
>>
>>> This is not required, the best thing to do is to find what is the
>>> proper compatible cross compiler for the image:
>>> https://stackoverflow.com/questions/31929092/trying-to-run-a
>>> -cross-compiled-executable-on-target-device-fails-with-no-
>>> such-f/49993116#49993116
>>>
>>> On Fri, Jun 1, 2018 at 6:34 AM, Tung Hoang 
>>> wrote:
>>>
 You may need “-static” for arm cross-compiling.

 /T

 On Thu, May 31, 2018 at 3:19 PM commerce _com >>> >
 wrote:

> Hi ciro,
>
> I'm sure the binary of the compilation  is in the image on the path: /
> home / root / parsec
>
> but I did not understand how to solve this problem; Please.
>
>
> com_.
>
> 2018-05-31 23:02 GMT+02:00 Ciro Santilli :
>
>> Likely incompatible compiler using wrong dynamic loader, do "file
>> hello", see "interpreter /some/path", and check if "/some/path" is
>> present on guest.
>>
>> On Thu, May 31, 2018 at 9:33 PM, commerce _com <
>> commercecom...@gmail.com>
>> wrote:
>>
>>> Hi all,
>>>
>>> i need to run hello.c in an architecture armv8 big.LITTLE
>>> I compile hello_word.c by a crosscompiler here is the command:
>>> arm-linux-gnueabihf-gcc hello.c -o hello
>>>
>>> I added the binarie of the compilation to the linaro aarch64 image,
>>> with I
>>> generated this .rcs script as follows:
>>> #! / Bin / bash
>>> PARSEC_DIR = "/ home / root / parsec"
>>> cd $ PARSEC_DIR
>>> pwd
>>> ./Hello
>>>
>>> I typed the following command:
>>>
>>> sudo build / ARM / gem5.opt configs / example / arm / fs_bigLITTLE.py
>>> --kernel = / media / ali / ali / gem5-master / aarch-system-20180409
>>> /
>>> binaries / vmlinux.vexpress_gem5_v1_64 --dtb = / media / ali / ali /
>>> gem5-master / aarch-system-20180409 / binaries /
>>> armv8_gem5_v1_big_little_2_2.dtb --bootscript = / home / ali /
>>> desktop
>>> /
>>> rcs_file / parsec_rcs / hello.rcS - caches
>>>
>>> the execution of the kernel it works normal but when it passes the
>>> stage of
>>> execution of the hello I found this result:
>>>
>>> / tmp / script: line 3: cd: / home / root / parsec: No such file or
>>> directory
>>> /
>>> / tmp / script: line 5: ./hello: No such file or directory
>>>
>>> despite I added the binary hello to the linaro image.
>>>
>>> please if you have an idea to solve the problem.
>>>
>>> here is my file system.terminal:
>>>
>>> thanks advance.
>>>
>>> com_.
>>>
>>>
>>> ___
>>> 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://m