Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Dev Tracking] Gem5 simulation from QEMU memory trace #1

Open
wants to merge 73 commits into
base: ll-base-20200608
Choose a base branch
from

Conversation

tupipa
Copy link
Owner

@tupipa tupipa commented Aug 9, 2020

No description provided.

tupipa added 30 commits June 16, 2020 19:27
Change-Id: I86354190b3697617bd5b8b93265a6d05cc14dc7b
total ticks from 454.646.000 in simple to 56.435.000

[Wed Jun 17 01:09:00 UTC 2020]root@835786bc757c:
gem5# ./build/X86/gem5.opt configs/tutorial/two_level.py
warn: CheckedInt already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: Enum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: ScopedEnum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version 20.0.0.2
gem5 compiled Jun 16 2020 10:47:23
gem5 started Jun 17 2020 01:09:02
gem5 executing on 835786bc757c, pid 300
command line: ./build/X86/gem5.opt configs/tutorial/two_level.py

Global frequency set at 1000000000000 ticks per second
warn: failed to generate dot output from m5out/config.dot
warn: DRAM device capacity (8192 Mbytes) does not match the address range assigned (512 Mbytes)
0: system.remote_gdb: listening for remote gdb on port 7000
Simulation begin...
info: Entering event queue @ 0.  Starting simulation...
Hello world!
Exiting @ tick56435000 because exiting with last active thread context
[Wed Jun 17 01:09:02 UTC 2020]root@835786bc757c:
gem5# ./build/X86/gem5.opt configs/tutorial/simple.py
warn: CheckedInt already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: Enum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: ScopedEnum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version 20.0.0.2
gem5 compiled Jun 16 2020 10:47:23
gem5 started Jun 17 2020 01:09:38
gem5 executing on 835786bc757c, pid 303
command line: ./build/X86/gem5.opt configs/tutorial/simple.py

Global frequency set at 1000000000000 ticks per second
warn: failed to generate dot output from m5out/config.dot
warn: DRAM device capacity (8192 Mbytes) does not match the address range assigned (512 Mbytes)
0: system.remote_gdb: listening for remote gdb on port 7000
Simulation begin...
info: Entering event queue @ 0.  Starting simulation...
Hello world!
Exiting @ tick454646000 because exiting with last active thread context
[Wed Jun 17 01:09:38 UTC 2020]root@835786bc757c:
gem5#

Change-Id: I44fc6f363201de03afd88e01f0bf9ba4b5c0358c
[Tue Jun 16 22:32:38 UTC 2020]root@865a95993f7f:
gem5$ ./build/X86/gem5.opt configs/tutorial/two_level.py
warn: CheckedInt already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: Enum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: ScopedEnum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version 20.0.0.2
gem5 compiled Jun 16 2020 10:47:23
gem5 started Jun 17 2020 05:49:20
gem5 executing on 865a95993f7f, pid 31
command line: ./build/X86/gem5.opt configs/tutorial/two_level.py

Global frequency set at 1000000000000 ticks per second
warn: failed to generate dot output from m5out/config.dot
warn: DRAM device capacity (8192 Mbytes) does not match the address range assigned (512 Mbytes)
0: system.remote_gdb: listening for remote gdb on port 7000
Simulation begin...
info: Entering event queue @ 0.  Starting simulation...
Hello world!
Exiting @ tick56435000 because exiting with last active thread context
[Tue Jun 16 22:32:38 UTC 2020]root@865a95993f7f:
gem5$ ./build/X86/gem5.opt configs/tutorial/two_level.py --l2_size='1MB' --l1d_size='128kB'
warn: CheckedInt already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: Enum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: ScopedEnum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version 20.0.0.2
gem5 compiled Jun 16 2020 10:47:23
gem5 started Jun 17 2020 05:50:10
gem5 executing on 865a95993f7f, pid 33
command line: ./build/X86/gem5.opt configs/tutorial/two_level.py --l2_size=1MB --l1d_size=128kB

Global frequency set at 1000000000000 ticks per second
warn: failed to generate dot output from m5out/config.dot
warn: DRAM device capacity (8192 Mbytes) does not match the address range assigned (512 Mbytes)
0: system.remote_gdb: listening for remote gdb on port 7000
Simulation begin...
info: Entering event queue @ 0.  Starting simulation...
Hello world!
Exiting @ tick56435000 because exiting with last active thread context
[Tue Jun 16 22:32:38 UTC 2020]root@865a95993f7f:
gem5$ ./build/X86/gem5.opt configs/tutorial/two_level.py --l2_size='1MB' --l1d_size='256kB' --l1i_size='256kB'
warn: CheckedInt already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: Enum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: ScopedEnum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version 20.0.0.2
gem5 compiled Jun 16 2020 10:47:23
gem5 started Jun 17 2020 05:50:45
gem5 executing on 865a95993f7f, pid 35
command line: ./build/X86/gem5.opt configs/tutorial/two_level.py --l2_size=1MB --l1d_size=256kB --l1i_size=256kB

Global frequency set at 1000000000000 ticks per second
warn: failed to generate dot output from m5out/config.dot
warn: DRAM device capacity (8192 Mbytes) does not match the address range assigned (512 Mbytes)
0: system.remote_gdb: listening for remote gdb on port 7000
Simulation begin...
info: Entering event queue @ 0.  Starting simulation...
Hello world!
Exiting @ tick56435000 because exiting with last active thread context
[Tue Jun 16 22:32:38 UTC 2020]root@865a95993f7f:
gem5$ ./build/X86/gem5.opt configs/tutorial/two_level.py --l2_size='1MB' --l1d_size='1kB' --l1i_size='1kB'
warn: CheckedInt already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: Enum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: ScopedEnum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version 20.0.0.2
gem5 compiled Jun 16 2020 10:47:23
gem5 started Jun 17 2020 05:51:02
gem5 executing on 865a95993f7f, pid 37
command line: ./build/X86/gem5.opt configs/tutorial/two_level.py --l2_size=1MB --l1d_size=1kB --l1i_size=1kB

Global frequency set at 1000000000000 ticks per second
warn: failed to generate dot output from m5out/config.dot
warn: DRAM device capacity (8192 Mbytes) does not match the address range assigned (512 Mbytes)
0: system.remote_gdb: listening for remote gdb on port 7000
Simulation begin...
info: Entering event queue @ 0.  Starting simulation...
Hello world!
Exiting @ tick61667000 because exiting with last active thread context
[Tue Jun 16 22:32:38 UTC 2020]root@865a95993f7f:
gem5$ ./build/X86/gem5.opt configs/tutorial/two_level.py --l2_size='1MB' --l1d_size='1B' --l1i_size='1B'
warn: CheckedInt already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: Enum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: ScopedEnum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version 20.0.0.2
gem5 compiled Jun 16 2020 10:47:23
gem5 started Jun 17 2020 05:51:16
gem5 executing on 865a95993f7f, pid 39
command line: ./build/X86/gem5.opt configs/tutorial/two_level.py --l2_size=1MB --l1d_size=1B --l1i_size=1B

Global frequency set at 1000000000000 ticks per second
warn: failed to generate dot output from m5out/config.dot
warn: DRAM device capacity (8192 Mbytes) does not match the address range assigned (512 Mbytes)
gem5.opt: build/X86/base/intmath.hh:59: typename std::enable_if<std::is_integral<_Tp>::value, int>::type floorLog2(T) [with T = unsigned int; typename std::enable_if<std::is_integral<_Tp>::value, int>::type = int]: Assertion `x > 0' failed.
Program aborted at tick 0
--- BEGIN LIBC BACKTRACE ---
./build/X86/gem5.opt(_Z15print_backtracev+0x2c)[0x55bd7c303ddc]
./build/X86/gem5.opt(_Z12abortHandleri+0x4a)[0x55bd7c3157aa]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12890)[0x7ffaa57b2890]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7)[0x7ffaa3fc0e97]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x141)[0x7ffaa3fc2801]
/lib/x86_64-linux-gnu/libc.so.6(+0x3039a)[0x7ffaa3fb239a]
/lib/x86_64-linux-gnu/libc.so.6(+0x30412)[0x7ffaa3fb2412]
./build/X86/gem5.opt(_ZN18BaseIndexingPolicyC2EPK24BaseIndexingPolicyParams+0x29e)[0x55bd7c180c9e]
./build/X86/gem5.opt(_ZN20SetAssociativeParams6createEv+0x21)[0x55bd7c180f81]
./build/X86/gem5.opt(+0xa68fea)[0x55bd7b955fea]
./build/X86/gem5.opt(+0x8cd071)[0x55bd7b7ba071]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ff3)[0x7ffaa5a60763]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7ffaa5b9e908]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5bf6)[0x7ffaa5a5f366]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7ffaa5b9e908]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5bf6)[0x7ffaa5a5f366]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7ffaa5b9e908]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5bf6)[0x7ffaa5a5f366]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7ffaa5b9e908]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5bf6)[0x7ffaa5a5f366]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7ffaa5b9e908]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5bf6)[0x7ffaa5a5f366]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7ffaa5b9e908]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5bf6)[0x7ffaa5a5f366]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7ffaa5b9e908]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5bf6)[0x7ffaa5a5f366]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7ffaa5b9e908]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5bf6)[0x7ffaa5a5f366]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7ffaa5b9e908]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7ffaa5a595d9]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ac0)[0x7ffaa5a60230]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7ffaa5b9e908]
--- END LIBC BACKTRACE ---
Aborted (core dumped)
[Tue Jun 16 22:32:38 UTC 2020]root@865a95993f7f:
gem5$

Change-Id: I9c3b875b8af8388d8c9634d14c1f522814b9ad80
Change-Id: I0f51dc307035741b1f1c1b6f61083a3934e3b531
[Tue Jun 16 22:32:38 UTC 2020]root@865a95993f7f:
gem5# ./build/X86/gem5.opt configs/tutorial/hello_object_config.py
warn: CheckedInt already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: Enum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: ScopedEnum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version 20.0.0.2
gem5 compiled Jun 17 2020 09:01:44
gem5 started Jun 17 2020 18:21:21
gem5 executing on 865a95993f7f, pid 20
command line: ./build/X86/gem5.opt configs/tutorial/hello_object_config.py

Creating root object
Initiate the HelloObject2
Instantiate the m5 module
Global frequency set at 1000000000000 ticks per second
warn: failed to generate dot output from m5out/config.dot
Hello World! From a SimObject
Beginning simulation
info: Entering event queue @ 0.  Starting simulation...
Exiting @ tick 18446744073709551615 because simulate() limit reached
[Tue Jun 16 22:32:38 UTC 2020]root@865a95993f7f:
gem5#

Change-Id: I4971b3fcecfdac7bdad5941fc75a2bf8892f2aeb
Change-Id: I063423688396d99c3a40d563b0497a830e908673
[Tue Jun 16 22:32:38 UTC 2020]root@865a95993f7f:
gem5# build/X86/gem5.opt --debug-flags=Hello2 configs/tutorial/hello_object_config.py
warn: CheckedInt already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: Enum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: ScopedEnum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version 20.0.0.2
gem5 compiled Jun 18 2020 02:49:27
gem5 started Jun 18 2020 02:54:15
gem5 executing on 865a95993f7f, pid 522
command line: build/X86/gem5.opt --debug-flags=Hello2 configs/tutorial/hello_object_config.py

Creating root object
Initiate the HelloObject2
Instantiate the m5 module
Global frequency set at 1000000000000 ticks per second
warn: failed to generate dot output from m5out/config.dot
Hello World! From a SimObject
      0: hello2: Creating the hello object
Beginning simulation
info: Entering event queue @ 0.  Starting simulation...
     10: hello2: Processing the Event, times left: 21
     20: hello2: Processing the Event, times left: 20
     30: hello2: Processing the Event, times left: 19
     40: hello2: Processing the Event, times left: 18
     50: hello2: Processing the Event, times left: 17
     60: hello2: Processing the Event, times left: 16
     70: hello2: Processing the Event, times left: 15
     80: hello2: Processing the Event, times left: 14
     90: hello2: Processing the Event, times left: 13
    100: hello2: Processing the Event, times left: 12
    110: hello2: Processing the Event, times left: 11
    120: hello2: Processing the Event, times left: 10
    130: hello2: Processing the Event, times left: 9
    140: hello2: Processing the Event, times left: 8
    150: hello2: Processing the Event, times left: 7
    160: hello2: Processing the Event, times left: 6
    170: hello2: Processing the Event, times left: 5
    180: hello2: Processing the Event, times left: 4
    190: hello2: Processing the Event, times left: 3
    200: hello2: Processing the Event, times left: 2
    210: hello2: Processing the Event, times left: 1
    220: hello2: Processing the Event, times left: 0
    220: hello2: Done firing all events
Exiting @ tick 18446744073709551615 because simulate() limit reached
[Tue Jun 16 22:32:38 UTC 2020]root@865a95993f7f:
gem5# more m5out/config.ini
[hello2]
type=HelloObject2
eventq_index=0

[root]
type=Root
children=hello2
eventq_index=0
full_system=false
sim_quantum=0
time_sync_enable=false
time_sync_period=100000000000
time_sync_spin_threshold=100000000

[Tue Jun 16 22:32:38 UTC 2020]root@865a95993f7f:
gem5# more m5out/stats.txt

---------- Begin Simulation Statistics ----------
final_tick                               18446744073709551616                       # Number of ticks
 from beginning of simulation (restored from checkpoints and never reset)
host_mem_usage                                 134584                       # Number of bytes of host
 memory used
host_seconds                                     0.00                       # Real time elapsed on th
e host
host_tick_rate                           39786611380568526422016                       # Simulator ti
ck rate (ticks/s)
sim_freq                                 1000000000000                       # Frequency of simulated
 ticks
sim_seconds                              18446744.073710                       # Number of seconds si
mulated
sim_ticks                                18446744073709551616                       # Number of ticks
 simulated

---------- End Simulation Statistics   ----------
[Tue Jun 16 22:32:38 UTC 2020]root@865a95993f7f:
gem5#

Change-Id: Ifb6a5930906723e75702cc83dc6bf5ec45bdfa65
[Tue Jun 16 22:32:38 UTC 2020]root@865a95993f7f:
gem5# build/X86/gem5.opt --debug-flags=Hello2 configs/tutorial/hello_object_config.py
warn: CheckedInt already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: Enum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: ScopedEnum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version 20.0.0.2
gem5 compiled Jun 18 2020 04:20:50
gem5 started Jun 18 2020 04:22:58
gem5 executing on 865a95993f7f, pid 671
command line: build/X86/gem5.opt --debug-flags=Hello2 configs/tutorial/hello_object_config.py

Creating root object
Initiate the HelloObject2
Instantiate the m5 module
Global frequency set at 1000000000000 ticks per second
warn: failed to generate dot output from m5out/config.dot
Hello World! From a SimObject
      0: hello2: Creating the hello object
Beginning simulation
info: Entering event queue @ 0.  Starting simulation...
   1000: hello2: Processing the Event, times left: 22
   2000: hello2: Processing the Event, times left: 21
   3000: hello2: Processing the Event, times left: 20
   4000: hello2: Processing the Event, times left: 19
   5000: hello2: Processing the Event, times left: 18
   6000: hello2: Processing the Event, times left: 17
   7000: hello2: Processing the Event, times left: 16
   8000: hello2: Processing the Event, times left: 15
   9000: hello2: Processing the Event, times left: 14
  10000: hello2: Processing the Event, times left: 13
  11000: hello2: Processing the Event, times left: 12
  12000: hello2: Processing the Event, times left: 11
  13000: hello2: Processing the Event, times left: 10
  14000: hello2: Processing the Event, times left: 9
  15000: hello2: Processing the Event, times left: 8
  16000: hello2: Processing the Event, times left: 7
  17000: hello2: Processing the Event, times left: 6
  18000: hello2: Processing the Event, times left: 5
  19000: hello2: Processing the Event, times left: 4
  20000: hello2: Processing the Event, times left: 3
  21000: hello2: Processing the Event, times left: 2
  22000: hello2: Processing the Event, times left: 1
  23000: hello2: Processing the Event, times left: 0
  23000: hello2: Done firing all events
Exiting @ tick 18446744073709551615 because simulate() limit reached
[Tue Jun 16 22:32:38 UTC 2020]root@865a95993f7f:
gem5#

Change-Id: I0a5996c0810d9cc3a0d61456c86db258e267cde2
Change-Id: I8c4322fe79066143f3f7071574b81f8af49b0bb5
Many interfaces/header files changed in latest gem5.

Example: BaseMasterPort -> MasterPort

pure virtual functions changed; member variables changed, etc.

Change-Id: I3758de782289f9731851219d830d19d0af0c1900
Change-Id: I03f4ce5b9c25ebd600ddbb9d0ac650dd492b3466
Change-Id: I46bad41c8f2dd72f7b055801e256365f9d56fccf
Change-Id: Icc3d715b3bc098e266e7fe54e728a919f71ef19b
Change-Id: Ic889a8317b08db3b0b889ffb894b333d358ccc05
Change-Id: I67e81d68d36accd218366b7876f3441517c1d466
Change-Id: Ica830ae28102f3b52430dfdc5917aaed6195b7f6
Change-Id: Ib0241b4d55b41d47221c9475a4f6d50210d4a96e
Change-Id: I63ad7dfb99403e532377ce99c70b3d90958ca7d4
Change-Id: I2d277be8cd4febb1c2dd1b83e3f96f619a5c0812
Change-Id: Ic06868c753f0c2c97cd627a36145ef2c5af417f7
Change-Id: I6e9ae3f7b887757d68ebada710e2985c6fc34c99
Change-Id: I4f0bed72bb9a08b86b648079c1c1013720463882
Change-Id: I388e1947fde6813d5e6e83f0dc7c0f3afdba890f
Change-Id: I12b8c3b4d3157fe00f9e2fab32d9608748cb5f3f
Change-Id: I050719d895eb8bd18549a9d343ba7d5becd22748
Change-Id: If6591b9a423a81dc2a991cec7abb37c3413102da
Change-Id: Ie4ddacfcf9895fdb7ede4c396ae9587abb6d3055
Change-Id: If429e8eba6edb7f0b50d22de10b28429815f51f2
tupipa added 30 commits June 30, 2020 02:45
--single-addr to test run with only one addr access in the trace

period recomputed based on new number of addresses and access for
each address

Change-Id: I361b5ad88856a1941efd5dbc6c75245dd4a2017f
also add pc field to packet, todo: parse it in traffic-gen

Change-Id: I15c71da7973169a32f6525331577c4e9d30ad5fc
- proto to encode/decode inst_color field in memory trace
- traffic_gen module to parse the inst_color
- request structure in gem5 to store inst_color (along with PC)

Change-Id: Ie01502135857ae907abe2ff9d6b7e459dd536a5c
Change-Id: I99432e0fc194d687e58bb52806cc8722a69077b4
Change-Id: I21fc60a90fcfddd2dfc615d4f55d955a1571f718
Change-Id: If2d22a22cfd63b0127edda881d98721bb8627ab5
Change-Id: I8db32845bfb5e85e65d282a538d1cc0c1be827e7
Print period time for stats dump.

Change-Id: I80727988d0be49718a004e95c3d505aec049e32d
Change-Id: I03fa9bd41548289c55b05e76bf27891790353f46
Change-Id: If3838d0e87c4007c5334eca9bf1bf669447c4024
Max time between two requests can include:

- l1 miss
- l2 miss
- tag cache miss
- memory access
- tag cache eviction
- l2 eviction
- l1 eviction
...

Clean lines needs a writeback only for the downstream cache is
exclusive.

Change-Id: I714dcf9b432bbeb76b963fb914a08d0cc09abbe6
Change-Id: Ia54c0af65f49b7161c54e4d47767d97be58a5ce0
Change-Id: Ied4f4c6334e71f0bf25773c649e513d80dec43a8
the total num of traces are written into -total.txt file when generating the trace

Change-Id: I7ac101e5a56bfebe508b02aeaf0604d6502d325d
Change-Id: Ib0986b06fa9c7fe5a6f37d710df3d2b894dc08cb
add all qemu generated

Change-Id: I09b02594e26b74ebfc7c33765582b6a967fb2195
Change-Id: Ifef46768607986205291d072f51e93e572879250
Change-Id: I4b82b861a9c8b7a639aba3d6c6800c1e28a59314
Change-Id: If87a3f7d1bfe13b642195458c35045751f148ce3
backup dir created based on qemu-trace file name.
wq

Change-Id: I0c4a37486ec61001cb73cad413b452eb79857de8
rename cfg file to traffic-gen.cfg

run.sh: call gem5 with --gem5-trace option. This option is generated
based on the name of qemu trace; the generated gem5 trace will be
put in the log back dir.

Change-Id: Ie2f088c546880ab327918f99672a1c785f55b8fd
Change-Id: Ib7896b3a8f95741881725b5bf1903b060ad91ba4
print to file with:
- total num of addresses
- address and the num of accesses to it
- page num, the num of addresses being accessed, and total num of accesses

Change-Id: If79c5943a67b439f413227d8a24545d5486622b0
Change-Id: If6ff2bcecf9c14e64d4bfe4fbe2fa8a36103a21e
check error or unfinished output of gem5 result, do early stop if
gem5 fails.

Change-Id: I2cd3eea17dda300114a733e3094d2e82651793e2
- check gem5 output result based on '====' pattern (4 is normal, less than 3 will be error; 3 means 1 warm up 1 replay)
- remove unused function

Change-Id: Ie8a122d88fe103601019166e584b8dd66c6f3566
Console output is too large (> 40GB) to save on disk. Compression would help.

Change-Id: I3a1c34b94c5efb472e7d99ceef505c1947c9a3a0
In BASH, variables in all functions are global by default. This
has caused problem when many functions use same variable names where
a variable change in one function could affect another function.

Always backup the console output even if gem5 fails to replay.

Change-Id: Id9aa41460c419af2449ef509e51573e81c062a9a
Change-Id: I3d887a5dcb991f9423f47d047d942f01367f227c
Change-Id: I28d8ac87d9eba20cae5188ddc55f6df707f86f43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant