changeset 91834ba4b16d in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=91834ba4b16d
description:
tests: Add a basic memcheck regression
This patch adds a simple regression that calls the existing
memcheck.py script.
diffstat:
tests/SConscript | 2 +-
tests/configs/memcheck.py | 59 +
tests/quick/se/51.memcheck/ref/null/none/memcheck/stats.txt | 2725 +++++++++++
tests/quick/se/51.memcheck/test.py | 38 +
4 files changed, 2823 insertions(+), 1 deletions(-)
diffs (truncated from 2846 to 300 lines):
diff -r 21434dcc83d5 -r 91834ba4b16d tests/SConscript
--- a/tests/SConscript Thu Apr 21 17:25:31 2016 -0500
+++ b/tests/SConscript Mon Apr 25 03:46:12 2016 -0400
@@ -364,7 +364,7 @@
'simple-timing', 'simple-timing-mp',
'minor-timing', 'minor-timing-mp',
'o3-timing', 'o3-timing-mt', 'o3-timing-mp',
- 'rubytest', 'memtest', 'memtest-filter',
+ 'rubytest', 'memcheck', 'memtest', 'memtest-filter',
'tgen-simple-mem', 'tgen-dram-ctrl']
configs += ['learning-gem5-p1-simple', 'learning-gem5-p1-two-level']
diff -r 21434dcc83d5 -r 91834ba4b16d tests/configs/memcheck.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/configs/memcheck.py Mon Apr 25 03:46:12 2016 -0400
@@ -0,0 +1,59 @@
+# Copyright (c) 2016 ARM Limited
+# All rights reserved.
+#
+# The license below extends only to copyright in the software and shall
+# not be construed as granting a license to any other intellectual
+# property including but not limited to intellectual property relating
+# to a hardware implementation of the functionality of the software
+# licensed hereunder. You may use the software subject to the license
+# terms below provided that you ensure that this notice is replicated
+# unmodified and in its entirety in all distributions of the software,
+# modified or unmodified, in source code or in binary form.
+#
+# Copyright (c) 2015 Jason Lowe-Power
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met: redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer;
+# redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution;
+# neither the name of the copyright holders nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# Authors: Jason Lowe-Power
+# Andreas Hansson
+
+# A wrapper around configs/example/memcheck.py
+
+# For some reason, this is implicitly needed by run.py
+root = None
+
+def run_test(root):
+ # Called from tests/run.py
+
+ # The path to this script is the only parameter. Delete it so
+ # we can execute the script that we want to execute.
+ import sys
+ del sys.argv[1:]
+
+ # Add a specific max tick
+ sys.argv.append('-m %d' % maxtick)
+
+ # Execute the script we are wrapping
+ execfile('configs/example/memcheck.py', globals())
diff -r 21434dcc83d5 -r 91834ba4b16d
tests/quick/se/51.memcheck/ref/null/none/memcheck/stats.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/quick/se/51.memcheck/ref/null/none/memcheck/stats.txt Mon Apr
25 03:46:12 2016 -0400
@@ -0,0 +1,2725 @@
+
+---------- Begin Simulation Statistics ----------
+sim_seconds 0.010000 #
Number of seconds simulated
+sim_ticks 10000000000 #
Number of ticks simulated
+final_tick 10000000000 #
Number of ticks from beginning of simulation (restored from checkpoints and
never reset)
+sim_freq 1000000000000 #
Frequency of simulated ticks
+host_tick_rate 995173175 #
Simulator tick rate (ticks/s)
+host_mem_usage 1449604 #
Number of bytes of host memory used
+host_seconds 10.05 #
Real time elapsed on the host
+system.voltage_domain.voltage 1 #
Voltage in Volts
+system.clk_domain.clock 1000 #
Clock period in ticks
+system.physmem.bytes_read::l0subsys0.tester0 2151552
# Number of bytes read from this memory
+system.physmem.bytes_read::l0subsys0.tester1 2168960
# Number of bytes read from this memory
+system.physmem.bytes_read::l0subsys1.tester0 2107520
# Number of bytes read from this memory
+system.physmem.bytes_read::l0subsys1.tester1 2291904
# Number of bytes read from this memory
+system.physmem.bytes_read::l0subsys2.tester0 2067776
# Number of bytes read from this memory
+system.physmem.bytes_read::l0subsys2.tester1 2030080
# Number of bytes read from this memory
+system.physmem.bytes_read::l0subsys3.tester0 2082688
# Number of bytes read from this memory
+system.physmem.bytes_read::l0subsys3.tester1 1995392
# Number of bytes read from this memory
+system.physmem.bytes_read::l0subsys4.tester0 2164544
# Number of bytes read from this memory
+system.physmem.bytes_read::l0subsys4.tester1 2010944
# Number of bytes read from this memory
+system.physmem.bytes_read::l0subsys5.tester0 2155328
# Number of bytes read from this memory
+system.physmem.bytes_read::l0subsys5.tester1 2130240
# Number of bytes read from this memory
+system.physmem.bytes_read::l2subsys0.tester 2177536
# Number of bytes read from this memory
+system.physmem.bytes_read::total 27534464 #
Number of bytes read from this memory
+system.physmem.bytes_written::writebacks 9685696 #
Number of bytes written to this memory
+system.physmem.bytes_written::total 9685696 #
Number of bytes written to this memory
+system.physmem.num_reads::l0subsys0.tester0 33618
# Number of read requests responded to by this memory
+system.physmem.num_reads::l0subsys0.tester1 33890
# Number of read requests responded to by this memory
+system.physmem.num_reads::l0subsys1.tester0 32930
# Number of read requests responded to by this memory
+system.physmem.num_reads::l0subsys1.tester1 35811
# Number of read requests responded to by this memory
+system.physmem.num_reads::l0subsys2.tester0 32309
# Number of read requests responded to by this memory
+system.physmem.num_reads::l0subsys2.tester1 31720
# Number of read requests responded to by this memory
+system.physmem.num_reads::l0subsys3.tester0 32542
# Number of read requests responded to by this memory
+system.physmem.num_reads::l0subsys3.tester1 31178
# Number of read requests responded to by this memory
+system.physmem.num_reads::l0subsys4.tester0 33821
# Number of read requests responded to by this memory
+system.physmem.num_reads::l0subsys4.tester1 31421
# Number of read requests responded to by this memory
+system.physmem.num_reads::l0subsys5.tester0 33677
# Number of read requests responded to by this memory
+system.physmem.num_reads::l0subsys5.tester1 33285
# Number of read requests responded to by this memory
+system.physmem.num_reads::l2subsys0.tester 34024
# Number of read requests responded to by this memory
+system.physmem.num_reads::total 430226 #
Number of read requests responded to by this memory
+system.physmem.num_writes::writebacks 151339 #
Number of write requests responded to by this memory
+system.physmem.num_writes::total 151339 #
Number of write requests responded to by this memory
+system.physmem.bw_read::l0subsys0.tester0 215155200 #
Total read bandwidth from this memory (bytes/s)
+system.physmem.bw_read::l0subsys0.tester1 216896000 #
Total read bandwidth from this memory (bytes/s)
+system.physmem.bw_read::l0subsys1.tester0 210752000 #
Total read bandwidth from this memory (bytes/s)
+system.physmem.bw_read::l0subsys1.tester1 229190400 #
Total read bandwidth from this memory (bytes/s)
+system.physmem.bw_read::l0subsys2.tester0 206777600 #
Total read bandwidth from this memory (bytes/s)
+system.physmem.bw_read::l0subsys2.tester1 203008000 #
Total read bandwidth from this memory (bytes/s)
+system.physmem.bw_read::l0subsys3.tester0 208268800 #
Total read bandwidth from this memory (bytes/s)
+system.physmem.bw_read::l0subsys3.tester1 199539200 #
Total read bandwidth from this memory (bytes/s)
+system.physmem.bw_read::l0subsys4.tester0 216454400 #
Total read bandwidth from this memory (bytes/s)
+system.physmem.bw_read::l0subsys4.tester1 201094400 #
Total read bandwidth from this memory (bytes/s)
+system.physmem.bw_read::l0subsys5.tester0 215532800 #
Total read bandwidth from this memory (bytes/s)
+system.physmem.bw_read::l0subsys5.tester1 213024000 #
Total read bandwidth from this memory (bytes/s)
+system.physmem.bw_read::l2subsys0.tester 217753600 #
Total read bandwidth from this memory (bytes/s)
+system.physmem.bw_read::total 2753446400 #
Total read bandwidth from this memory (bytes/s)
+system.physmem.bw_write::writebacks 968569600 #
Write bandwidth from this memory (bytes/s)
+system.physmem.bw_write::total 968569600 #
Write bandwidth from this memory (bytes/s)
+system.physmem.bw_total::writebacks 968569600 #
Total bandwidth to/from this memory (bytes/s)
+system.physmem.bw_total::l0subsys0.tester0 215155200
# Total bandwidth to/from this memory (bytes/s)
+system.physmem.bw_total::l0subsys0.tester1 216896000
# Total bandwidth to/from this memory (bytes/s)
+system.physmem.bw_total::l0subsys1.tester0 210752000
# Total bandwidth to/from this memory (bytes/s)
+system.physmem.bw_total::l0subsys1.tester1 229190400
# Total bandwidth to/from this memory (bytes/s)
+system.physmem.bw_total::l0subsys2.tester0 206777600
# Total bandwidth to/from this memory (bytes/s)
+system.physmem.bw_total::l0subsys2.tester1 203008000
# Total bandwidth to/from this memory (bytes/s)
+system.physmem.bw_total::l0subsys3.tester0 208268800
# Total bandwidth to/from this memory (bytes/s)
+system.physmem.bw_total::l0subsys3.tester1 199539200
# Total bandwidth to/from this memory (bytes/s)
+system.physmem.bw_total::l0subsys4.tester0 216454400
# Total bandwidth to/from this memory (bytes/s)
+system.physmem.bw_total::l0subsys4.tester1 201094400
# Total bandwidth to/from this memory (bytes/s)
+system.physmem.bw_total::l0subsys5.tester0 215532800
# Total bandwidth to/from this memory (bytes/s)
+system.physmem.bw_total::l0subsys5.tester1 213024000
# Total bandwidth to/from this memory (bytes/s)
+system.physmem.bw_total::l2subsys0.tester 217753600 #
Total bandwidth to/from this memory (bytes/s)
+system.physmem.bw_total::total 3722016000 #
Total bandwidth to/from this memory (bytes/s)
+system.physmem.readReqs 430231 #
Number of read requests accepted
+system.physmem.writeReqs 151339 #
Number of write requests accepted
+system.physmem.readBursts 430231 #
Number of DRAM read bursts, including those serviced by the write queue
+system.physmem.writeBursts 151339 #
Number of DRAM write bursts, including those merged in the write queue
+system.physmem.bytesReadDRAM 27531200 #
Total number of bytes read from DRAM
+system.physmem.bytesReadWrQ 3264 #
Total number of bytes read from write queue
+system.physmem.bytesWritten 9684288 #
Total number of bytes written to DRAM
+system.physmem.bytesReadSys 27534784 #
Total read bytes from the system interface side
+system.physmem.bytesWrittenSys 9685696 #
Total written bytes from the system interface side
+system.physmem.servicedByWrQ 51 #
Number of DRAM read bursts serviced by the write queue
+system.physmem.mergedWrBursts 0 #
Number of DRAM write bursts merged with an existing one
+system.physmem.neitherReadNorWriteReqs 0 #
Number of requests that are neither read nor write
+system.physmem.perBankRdBursts::0 26877 #
Per bank write bursts
+system.physmem.perBankRdBursts::1 26937 #
Per bank write bursts
+system.physmem.perBankRdBursts::2 26857 #
Per bank write bursts
+system.physmem.perBankRdBursts::3 26981 #
Per bank write bursts
+system.physmem.perBankRdBursts::4 26710 #
Per bank write bursts
+system.physmem.perBankRdBursts::5 26644 #
Per bank write bursts
+system.physmem.perBankRdBursts::6 26827 #
Per bank write bursts
+system.physmem.perBankRdBursts::7 26908 #
Per bank write bursts
+system.physmem.perBankRdBursts::8 26975 #
Per bank write bursts
+system.physmem.perBankRdBursts::9 26813 #
Per bank write bursts
+system.physmem.perBankRdBursts::10 27050 #
Per bank write bursts
+system.physmem.perBankRdBursts::11 26884 #
Per bank write bursts
+system.physmem.perBankRdBursts::12 26917 #
Per bank write bursts
+system.physmem.perBankRdBursts::13 26720 #
Per bank write bursts
+system.physmem.perBankRdBursts::14 26856 #
Per bank write bursts
+system.physmem.perBankRdBursts::15 27219 #
Per bank write bursts
+system.physmem.perBankWrBursts::0 9454 #
Per bank write bursts
+system.physmem.perBankWrBursts::1 9383 #
Per bank write bursts
+system.physmem.perBankWrBursts::2 9499 #
Per bank write bursts
+system.physmem.perBankWrBursts::3 9581 #
Per bank write bursts
+system.physmem.perBankWrBursts::4 9343 #
Per bank write bursts
+system.physmem.perBankWrBursts::5 9358 #
Per bank write bursts
+system.physmem.perBankWrBursts::6 9421 #
Per bank write bursts
+system.physmem.perBankWrBursts::7 9630 #
Per bank write bursts
+system.physmem.perBankWrBursts::8 9324 #
Per bank write bursts
+system.physmem.perBankWrBursts::9 9571 #
Per bank write bursts
+system.physmem.perBankWrBursts::10 9542 #
Per bank write bursts
+system.physmem.perBankWrBursts::11 9440 #
Per bank write bursts
+system.physmem.perBankWrBursts::12 9456 #
Per bank write bursts
+system.physmem.perBankWrBursts::13 9411 #
Per bank write bursts
+system.physmem.perBankWrBursts::14 9459 #
Per bank write bursts
+system.physmem.perBankWrBursts::15 9445 #
Per bank write bursts
+system.physmem.numRdRetry 0 #
Number of times read queue was full causing retry
+system.physmem.numWrRetry 0 #
Number of times write queue was full causing retry
+system.physmem.totGap 9999931000 #
Total gap between requests
+system.physmem.readPktSize::0 0 #
Read request sizes (log2)
+system.physmem.readPktSize::1 0 #
Read request sizes (log2)
+system.physmem.readPktSize::2 0 #
Read request sizes (log2)
+system.physmem.readPktSize::3 0 #
Read request sizes (log2)
+system.physmem.readPktSize::4 0 #
Read request sizes (log2)
+system.physmem.readPktSize::5 0 #
Read request sizes (log2)
+system.physmem.readPktSize::6 430231 #
Read request sizes (log2)
+system.physmem.writePktSize::0 0 #
Write request sizes (log2)
+system.physmem.writePktSize::1 0 #
Write request sizes (log2)
+system.physmem.writePktSize::2 0 #
Write request sizes (log2)
+system.physmem.writePktSize::3 0 #
Write request sizes (log2)
+system.physmem.writePktSize::4 0 #
Write request sizes (log2)
+system.physmem.writePktSize::5 0 #
Write request sizes (log2)
+system.physmem.writePktSize::6 151339 #
Write request sizes (log2)
+system.physmem.rdQLenPdf::0 40581 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::1 84851 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::2 88171 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::3 66344 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::4 45057 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::5 31235 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::6 22114 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::7 15903 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::8 10888 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::9 7742 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::10 5414 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::11 3780 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::12 2518 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::13 1750 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::14 1229 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::15 881 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::16 583 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::17 395 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::18 271 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::19 184 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::20 106 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::21 67 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::22 50 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::23 35 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::24 13 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::25 9 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::26 6 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::27 3 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::28 0 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::29 0 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::30 0 #
What read queue length does an incoming req see
+system.physmem.rdQLenPdf::31 0 #
What read queue length does an incoming req see
+system.physmem.wrQLenPdf::0 1 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::1 1 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::2 1 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::3 1 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::4 1 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::5 1 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::6 1 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::7 1 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::8 1 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::9 1 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::10 1 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::11 1 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::12 1 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::13 1 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::14 1 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::15 27 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::16 37 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::17 2224 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::18 4883 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::19 6853 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::20 8013 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::21 8815 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::22 9458 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::23 9950 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::24 10142 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::25 10187 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::26 10172 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::27 10193 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::28 10353 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::29 10425 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::30 10538 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::31 10309 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::32 10107 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::33 1834 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::34 1201 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::35 900 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::36 690 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::37 531 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::38 451 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::39 376 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::40 328 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::41 307 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::42 261 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::43 244 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::44 217 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::45 182 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::46 167 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::47 157 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::48 153 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::49 123 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::50 116 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::51 102 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::52 94 #
What write queue length does an incoming req see
+system.physmem.wrQLenPdf::53 88 #
What write queue length does an incoming req see
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev