Open main menu

DAVE Developer's Wiki β

Changes

MISC-TN-009: Characterizing the RAM bandwidth of Mito8M SoM

70,538 bytes added, 10:58, 29 January 2020
stressapptest
|}
==Introduction==
Mito8M is the first DAVE Embedded Systems' product system-on-module (SoM) based on a core implementing the [https://en.wikipedia.org/wiki/ARM_architecture#64/32-bit_architecture ARMv8-A] architecture. Traditionally, ARM cores that are based on 32-bit [https://en.wikipedia.org/wiki/ARM_architecture#AArch32 ARMv7-A] architecture exhibit a limited RAM bandwidth even if they are coupled with 64-bit witdh width SDRAM banks. As an example, please see [[SBCX-TN-006:_Characterizing_the_RAM_bandwidth_of_Axel_Lite_SoM#Testbed_general_configuration|this Technical Note]] where we characterized the SDRAM bandwidth of Cortex A9-based Axel Lite SoM. When dealing with computationally heavy tasks, this factor a limited RAM bandwidth efficiency may turn out to be a severe bottleneck limiting bounding the overall performance.
Beside Besides an intrinsic increased computational powerover their predecessors, ARMv8-A-based SoC's are also expected to improve significantly RAM bandwidth as wellsignificantly. This technical note (TN for short) illustrates several benchmarking benchmark tests that were run on Mito8M SoM, which to characterize its bandwidth. It is worth to remember that Mito8M is built upon the [https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i.mx-applications-processors/i.mx-8-processors/i.mx-8m-family-armcortex-a53-cortex-m4-audio-voice-video:i.MX8M NXP i.MX8M Quadprocessor by NXP].
==Testbed general configuration==
This section illustrates the configuration settings common to all the tests performed. Basically, the testbed that was used is the same described in [[MISC-TN-008:_Running_Debian_Buster_(armbian)_on_Mito8M|this TN]]. ===SoC and SDRAM bank===The SoC model is i.MX8M Quad:<pre class="board-terminal">armbian@Mito8M:~/devel/lmbench/tmp$ lscpuArchitecture: aarch64Byte Order: Little EndianCPU(s): 4On-line CPU(s) list: 0-3Thread(s) per core: 1Core(s) per socket: 4Socket(s): 1NUMA node(s): 1Vendor ID: ARMModel: 4Model name: Cortex-A53Stepping: r0p4CPU max MHz: 1300.0000CPU min MHz: 800.0000BogoMIPS: 16.66L1d cache: unknown sizeL1i cache: unknown sizeL2 cache: unknown sizeNUMA node0 CPU(s): 0-3Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid</pre> This processor is capable of running either at 800 MHz or 1.3 GHz. The tests were performed at either frequencies in order to determine how the it affects the RAM bandwidth. The following table details the characteristics of the SDRAM bank connected to the SoC.
====SoC and SDRAM bank organization====
{| class="wikitable"
|+
!rowspan="2" |Subsystem!rowspan="2" |Feature!Platform|-
!Mito8M
!
|-
| rowspan="26" |SoC
|SoC
|NXP i.MX8M Quad
|
|-
|ARM core(s)|4 x Cortex A53|-|ARM core frequency
[MHz]
|800|or 1300
|-
|L1 cache (D)[kB]|32|-|L1 cache (I)[kB]|32|-|L2 cache[MB]|1|-| rowspan="56" |SDRAM
|Type
|LPDDR4
|
|-
|Frequency
[MHz]
|1600
|
|-
|Bus witdth
[bit]
|32
|
|-
|Theoretical bandiwidthbandwidth
[Gb/s]
|102.4
|-|Theoretical bandwidth[GB/s]|12.8
|-
|Size
[MB]
|3072
|
|}
====Software configuration====
* Linux kernel: 4.14.98
*Root file system: Debian GNU/Linux 10 (buster)
* Architecture: aarch64
* Governor: userspace @ 800 MHz or 1300 MHz
<pre class="board-terminal">
root@Mito8M:~# echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
</pre>
 Some benchmarks were built natively on the platform under test. For the sake of completeness, the version of the GCCcompiler is then indicated as well:
<pre class="board-terminal">
armbian@Mito8M:~/devel/lmbench$ gcc -v
</pre>
== Overall results ==
This section illustrates the overall results achieved by the benchmarks.
==Results=STREAM==={| class="wikitable"This section details the |+Overall results that were achieved by the different benchmarks(ARM core frequency = 800 MHz)! rowspan="2" |Function! colspan="2" |Mito8M! rowspan="2" |Axel Liteefficiency
===General configuration===[%]|-!Best rate[MB/s]!Efficiency
===Testbed #[%]|-|Copy|6770|51.7|14.0|-|Scale|6093|46.5|13.8|-|Add|5263|40.1===|14.6|-|Triad|4820|36.8|14.9|}
{| class="wikitable"
|+
Overall results (ARM core frequency = 1300 MHz)! rowspan="2" |Function!colspan="2" |Mito8M!rowspan="2" |Axel Liteefficiency [%]|-!Best rate[MB/s]!Efficiency [%]|-|Copy|7125|54.3|14.0|-|Scale|7501|57.2|13.8|-|Add|6762|51.6|14.6|-|Triad|6354|48.5|14.9|} Apart from the increase over Axel Lite in absolute terms, it is noteworthy that Mito8M exhibits a significant improvement in terms of efficiency too, as shown in the above tables. This is especially true in the case of ARM core frequency set to 1300 MHz. Another interesting thing to note is how the bandwidth is affected by the ARM core frequency. If it scaled linearly, we should have an improvement of 62.5% from 800 to 1300 MHz. The average bandwidth at 800 MHz is 5761 MB/s. At 1300 MHz, it is 6935 MB/s. Therefore, the increase is 20.4%. With regard to STREAM benchmark, the achieved bandwidth does not scale linearly with ARM core frequency. Please see [https://www.cs.virginia.edu/stream/ this page] for more details about STREAM benchmark. ===LMbench===For what regards the memory bandwidth, LMbench provides many results organized in different categories. For the sake of simplicity, the following tables details just a couple of categories. The full results are available for download [http://mirror.dave.eu/mito/Mito8M/lmbench-Mito8M.0-800MHz.txt here (ARM core frequency set to 800 MHz)] and [http://mirror.dave.eu/mito/Mito8M/lmbench-Mito8M.0-1300MHz.txt here (ARM core frequency set to 1300 MHz)]. {| class="wikitable"|+Memory read bandwidth! rowspan="2" |Buffer size! colspan="2" |Bandwitdth[MB/s]|-!ARM core frequency = 800 MHz!ARM core frequency = 1300 MHz|-|512B|1553|2521|-|1kB|1567|2546|-|2kB|1575|2560|-|4kB|1575|2564|-|8kB|1577|2564|-|16kB|1577|2567|-|32kB|1528|2490|-| 0.065536 |64kB|1531|2494|-|128kB|1547|2530|-|256kB|1552|2526|-|512kB|1514|2518|-|1MB|1318|2181|-|2MB|1430|2148|-|4MB|1420|2108|-|8MB|1423|2038|-|16MB|1420|2116|-|32MB|1365|2117|-|64MB|1393|2035|-|128MB|1382|2035|-|256MB|1372|2050|-|512MB|1367|1998|} {| class="wikitable"|+Memory write bandwidth! rowspan="2" |Buffer size! colspan="2" |Bandwitdth[MB/s]|-!ARM core frequency = 800 MHz!ARM core frequency = 1300 MHz|-|512B|2932|4771|-|1kB|3048|4956|-|2kB|3100|5046|-|4kB|3136|5097|-|8kB|3135|5101|-|16kB|3150|5120|-|32kB|2864|5127|-|64kB|3033|5071|-|128kB|3093|4886|-|256kB|2956|5056|-|512kB|3024|5054|-|1MB|3075|5092|-|2MB|3095|5116|-|4MB|3121|5118|-|8MB|3137|5120|-|16MB|3145|5121|-|32MB|3146|5120|-|64MB|3146|5125|-|128MB|3147|5123|-|256MB|3150|5124|-|512MB|3144|5125
|-
|1GB|3146|5124|} There are some interesting facts to stress:* Read and write bandwitdth are not effected by the buffer size.* They are significantly affected by the ARM core frequency. For instance, the improvement of the write bandwidth (about 62% when the buffer is 1GB) is practically the same of the increase in frequency. For more information regarding LMbench, please see [http://lmbench.sourceforge.net/ this page]. ===pmbw===As defined by the author, <code>pmbw</code> is "a set of assembler routines to measure the parallel memory (cache and RAM) bandwidth of modern multi-core machines." It performs a myriad of tests. Luckily, it comes with a handful tool that plots the results—which are stored in a text file—in a series of charts. Again,the benchmark was run at two different ARM core frequencies, 800 and 1300 MHz. The complete results and the charts are available at the following links:*http://mirror.dave.eu/mito/Mito8M/pmbw-stats-Mito8M-800MHz.txt*http://mirror.dave.eu/mito/Mito8M/pmbw-plots-Mito8M-800MHz.pdf*http://mirror.dave.eu/mito/Mito8M/pmbw-stats-Mito8M-1300MHz.txt*http://mirror.dave.eu/mito/Mito8M/pmbw-plots-Mito8M-1300MHz.pdf Generally speaking, the charts exhibit significant declines in the performances when the array size is around the L1 and the L2 cache size. For more details about <code>pmbw</code>, please refer to [https://panthema.net/2013/pmbw/ this page]. ===stressapptest===According to the documentation, stressapptest—which was developed at Google—is "a memory interface test. It tries to maximize randomized traffic to memory from processor and I/O, with the intent of creating a realistic high load situation in order to test the existing hardware devices in a computer."{|792class="wikitable"|+! rowspan="2" |Test! colspan="2" |Bandwidth[MB/s]
|-
||Frequency!ARM core frequency = 800 MHz[!ARM core frequency = 1300 MHz]|1600|
|-
|Memory copy|Bus witdth[bit]|325483|5804
|}
 The above table lists the achieved results when the benchmark was run as detailed in [[#Running_the_tests_4|this section]]. In this case, the different when running at different ARM core frequencies is very little. For more information about stressapptest, please refer to [https://github.com/stressapptest/stressapptest this page]. ==Useful links==*Joshua Wyatt Smith and Andrew Hamilton, [http://inspirehep.net/record/1424637/files/1719033_626-630.pdf Parallel benchmarks for ARM processors in the highenergy context]*T Wrigley, G Harmsen and B Mellado, [http://inspirehep.net/record/1424631/files/1719033_275-280.pdf Memory performance of ARM processors and itsrelevance to High Energy Physics]*G. T. Wrigley, R. G. Reed, B. Mellado, [http://inspirehep.net/record/1424637/files/1719033_626-630.pdf Memory benchmarking characterisation of ARM-based SoCs] ==Appendix A: Detailed testing procedures==This sections section details how the benchmarks were configured and run on the testbed.
===STREAM===
====Building====
To build STREAM:
* clone its git repository
*modify the <code>Makefile</code> as shown below
*issue the <code>make</code> command.
 
<pre class="board-terminal">
git clone https://github.com/jeffhammond/STREAM.git
</syntaxhighlight>
====Runningthe tests=========ARM core clock = 800 MHz=====
<pre class="board-terminal">
armbian@Mito8M:~/devel/STREAM$ ./stream_c.exe
</pre>
==Useful links===ARM core clock = 1300 MHz=====<pre class="board-terminal">armbian@Mito8M:~/devel/STREAM$ ./stream_c.exe -------------------------------------------------------------STREAM version $Revision: 5.10 $-------------------------------------------------------------This system uses 8 bytes per array element.-------------------------------------------------------------Array size = 10000000 (elements), Offset = 0 (elements)Memory per array = 76.3 MiB (= 0.1 GiB).Total memory required = 228.9 MiB (= 0.2 GiB).Each kernel will be executed 10 times. The *best*time for each kernel (excluding the first iteration) will be used to compute the reported bandwidth.-------------------------------------------------------------Number of Threads requested = 4Number of Threads counted = 4-------------------------------------------------------------Your clock granularity/precision appears to be 1 microseconds.Each test below will take on the order of 43743 microseconds. (= 43743 clock ticks)Increase the size of the arrays if this shows thatyou are not getting at least 20 clock ticks per test.-------------------------------------------------------------WARNING -- The above is only a rough guideline.For best results, please be sure you know theprecision of your system timer.-------------------------------------------------------------Function Best Rate MB/s Avg time Min time Max timeCopy: 7124.7 0.022597 0.022457 0.022866Scale: 7501.5 0.022730 0.021329 0.024132Add: 6761.7 0.035827 0.035494 0.036168Triad: 6354.1 0.038171 0.037771 0.038644-------------------------------------------------------------Solution Validates: avg error less than 1.000000e-13 on all three arrays-------------------------------------------------------------</pre> ===LMbench===To run this benchmark, the native prebuilt package provided by Debian Buster was used. Please click on ''Expand'' to show the complete log.<pre class="board-terminal mw-collapsible mw-collapsed">armbian@Mito8M:~/devel/lmbench$ sudo lmbench-run[httpssudo] password for armbian: /usr/lib/lmbench/scripts/gnu-os: unable to guess system type This script, last modified 2004-08-18, has failed to recognizethe operating system you are using. It is advised that youdownload the most up to date version of the config scripts from  ftp://wwwftp.gnu.org/pub/gnu/config/ If the version you run (/usr/lib/lmbench/scripts/gnu-os) is already up to date, pleasesend the following data and any information you think might bepertinent to <config-patches@gnu.org> in order to provide the neededinformation to handle your system.cs config.virginiaguess timestamp = 2004-08-18 uname -m = aarch64uname -r = 4.14.edu98-g4c94e1dbaec2uname -s = Linuxuname -v = #1 SMP PREEMPT Mon Sep 30 14:46:22 CEST 2019 /usr/bin/uname -p = /bin/uname -X =  hostinfo = /bin/universe = /usr/streambin/ STREAM arch -k = /bin/arch = /usr/bin/oslevel = /usr/convex/getsysinfo =  UNAME_MACHINE = aarch64UNAME_RELEASE = 4.14.98-g4c94e1dbaec2UNAME_SYSTEM = LinuxUNAME_VERSION = #1 SMP PREEMPT Mon Sep 30 14:46:22 CEST 2019=====================================================================  L M B E N C H C ON F I G U R A T I O N ---------------------------------------- You need to configure some parameters to lmbench. Once you have configuredthese parameters, you may do multiple runs by saying  "make rerun" in the src subdirectory. NOTICE: please do not have any other activity on the system if you canhelp it. Things like the second hand on your xclock or X perfmetersare not so good when benchmarking. In fact, X is not so good whenbenchmarking. ===================================================================== If you are running on an MP machine and you want to try runningmultiple copies of lmbench in parallel, you can specify how many here. Using this option will make the benchmark run 100x slower (sorry). NOTE: WARNING! This feature is experimental and many results are known to be incorrect or random! MULTIPLE COPIES [default 1]: ===================================================================== Options to control job placement1) Allow scheduler to place jobs2) Assign each benchmark process with any attendent child processes to its own processor3) Assign each benchmark process with any attendent child processes to its own processor, except that it will be as far as possible from other processes4) Assign each benchmark and attendent processes to their own processors5) Assign each benchmark and attendent processes to their own processors, except that they will be as far as possible from each other and other processes6) Custom placement: you assign each benchmark process with attendent child processes to processors7) Custom placement: you assign each benchmark and attendent processes to processors Note: some benchmarks, such as bw_pipe, create attendent childprocesses for each benchmark process. For example, bw_pipeneeds a second process to send data down the pipe to be readby the benchmark process. If you have three copies of thebenchmark process running, then you actually have six processes;three attendent child processes sending data down the pipes and three benchmark processes reading data and doing the measurements. Job placement selection [default 1]: ===================================================================== Hang on, we are calculating your timing granularity.OK, it looks like you can time stuff down to 5000 usec resolution. Hang on, we are calculating your timing overhead.OK, it looks like your gettimeofday() costs 0 usecs. Hang on, we are calculating your loop overhead.OK, it looks like your benchmark loop costs 0.00000136 usecs. ===================================================================== Several benchmarks operate on a range of memory. This memory should besized such that it is at least 4 times as big as the external cache[s]on your system. It should be no more than 80% of your physical memory. The bigger the range, the more accurate the results, but larger sizestake somewhat longer to run the benchmark. MB [default 2097]: 1024Checking to see if you have 1024 MB; please wait for a moment...1024MB OK1024MB OK1024MB OKHang on, we are calculating your cache line size.OK, it looks like your cache line is 64 bytes. ===================================================================== lmbench measures a wide variety of system performance, and the full suiteof benchmarks can take a long time on some platforms. Consequently, weoffer the capability to run only predefined subsets of benchmarks, onefor operating system specific benchmarks and one for hardware specificbenchmarks. We also offer the option of running only selected benchmarkswhich is useful during operating system development. Please remember that if you intend to publish the results you either needto do a full run or one of the predefined OS or hardware subsets. SUBSET (ALL|HARWARE|OS|DEVELOPMENT) [default all]: ===================================================================== This benchmark measures, by default, memory latency for a number ofdifferent strides. That can take a long time and is most useful if youare trying to figure out your cache line size or if your cache line sizeis greater than 128 bytes. If you are planning on sending in these results, please don't do a fastrun. Answering yes means that we measure memory latency with a 128 byte stride.  FASTMEM [default no]: ===================================================================== This benchmark measures, by default, file system latency. That cantake a long time on systems with old style file systems (i.e., UFS,FFS, etc.). Linux' ext2fs and Sun's tmpfs are fast enough that thistest is not painful. If you are planning on sending in these results, please don't do a fastrun. If you want to skip the file system latency tests, answer "yes" below. SLOWFS [default no]: yes===================================================================== This benchmarkcan measure disk zone bandwidths and seek times. These canbe turned into whizzy graphs that pretty much tell you everything you mightneed to know about the performance of your disk.  This takes a while and requires read access to a disk drive. Write is not measured, see disk.c to see how if you want to do so. If you want to skip the disk tests, hit return below. If you want to include disk tests, then specify the path to the diskdevice, such as /dev/sda. For each disk that is readable, you'll beprompted for a one line description of the drive, i.e.,   Iomega IDE ZIPor HP C3725S 2GB on 10MB/sec NCR SCSI bus DISKS [default none]: ===================================================================== If you are running on an idle network and there are other, identicallyconfigured systems, on the same wire (no gateway between you and them),and you have rsh access to them, then you should run the network partof the benchmarks to them. Please specify any such systems as a spaceseparated list such as: ether-host fddi-host hippi-host. REMOTE [default none]: ===================================================================== Calculating mhz, please wait for a moment...I think your CPU mhz is   798 MHz, 1.2531 nanosec clock but I am frequently wrong. If that is the wrong Mhz, type in yourbest guess as to your processor speed. It doesn't have to be exact,but if you know it is around 800, say 800.  Please note that some processors, such as the P4, have a core whichis double-clocked, so on those processors the reported clock speedwill be roughly double the advertised clock rate. For example, a1.8GHz P4 may be reported as a 3592MHz processor. Processor mhz [default 798 MHz, 1.2531 nanosec clock]: ===================================================================== We need a place to store a 1024 Mbyte file as well as create and delete alarge number of small files. We default to /var/tmp. If /var/tmp is amemory resident file system (i.e., tmpfs), pick a different place.Please specify a directory that has enough space and is a local filesystem. FSDIR [default /var/tmp/lmbench]: /tmp/lmbench===================================================================== lmbench outputs status information as it runs various benchmarks.By default this output is sent to /dev/tty, but you may redirect*it to any file you wish (such as /dev/null...). Status output file [default /dev/tty]: ===================================================================== There is a database of benchmark results that is shipped with newreleases of lmbench. Your results can be included in the databaseif you wish. The more results the better, especially if they includeremote networking. If your results are interesting, i.e., for a newfast box, they may be made available on the lmbench web page, which is  http://www.bitmover.com/lmbench Mail results [default yes]: noOK, no results mailed.===================================================================== Confguration done, thanks. There is a mailing list for discussing lmbench hosted at BitMover. Send mail to majordomo@bitmover.com to join the list. /usr/lib/lmbench/scripts/gnu-os: unable to guess system type This script, last modified 2004-08-18, has failed to recognizethe operating system you are using. It is advised that youdownload the most up to date version of the config scripts from  ftp://ftp.gnu.org/pub/gnu/config/ If the version you run (/usr/lib/lmbench/scripts/gnu-os) is already up to date, pleasesend the following data and any information you think might bepertinent to <config-patches@gnu.org> in order to provide the neededinformation to handle your system. config.guess timestamp = 2004-08-18 uname -m = aarch64uname -r = 4.sourceforge14.net98-g4c94e1dbaec2uname -s = Linuxuname -v = #1 SMP PREEMPT Mon Sep 30 14:46:22 CEST 2019 /usr/bin/uname -p = /bin/uname -X =  hostinfo = /bin/universe = /usr/bin/arch -k = /bin/arch = /usr/bin/oslevel = / LM Bench usr/convex/getsysinfo =  UNAME_MACHINE = aarch64UNAME_RELEASE = 4.14.98-g4c94e1dbaec2UNAME_SYSTEM = LinuxUNAME_VERSION = #1 SMP PREEMPT Mon Sep 30 14:46:22 CEST 2019Using config in CONFIG.Mito8MWed Jan 15 10:56:54 CET 2020Latency measurementsWed Jan 15 10:57:29 CET 2020Local networkingWed Jan 15 10:58:36 CET 2020Bandwidth measurementsWed Jan 15 11:03:02 CET 2020Calculating context switch overheadWed Jan 15 11:03:09 CET 2020Calculating effective TLB sizeWed Jan 15 11:03:10 CET 2020Calculating memory load parallelismWed Jan 15 11:14:34 CET 2020McCalpin's STREAM benchmark]*[Wed Jan 15 11:15:30 CET 2020Calculating memory load latencyWed Jan 15 11:35:54 CET 2020Benchmark run finished....Remember you can find the results of the benchmark under /var/lib/lmbench/results</pre> ===pmbw=======Building====Building pmbw is straightforward. Please click on ''Expand'' to show the box that illustrates the procedure.<pre class="board-terminal mw-collapsible mw-collapsed">armbian@Mito8M:~/devel$ git clone https://panthemagithub.com/bingmann/pmbw.gitCloning into 'pmbw'...remote: Enumerating objects: 15, done.remote: Counting objects: 100% (15/15), done.remote: Compressing objects: 100% (15/15), done.remote: Total 386 (delta 1), reused 3 (delta 0), pack-reused 371Receiving objects: 100% (386/386), 369.04 KiB | 1.27 MiB/s, done.netResolving deltas: 100% (232/2013232), done.armbian@Mito8M:~/devel$ cd pmbwarmbian@Mito8M:~/devel/ pmbw $ ./configure && makechecking build system type... aarch64-unknown-linux-gnuchecking host system type... aarch64-unknown-linux-gnuchecking target system type... aarch64-unknown-linux-gnuchecking for a BSD-compatible install... /usr/bin/install -cchecking whether build environment is sane... yeschecking for a thread-safe mkdir -p... /bin/mkdir -pchecking for gawk... nochecking for mawk... mawkchecking whether make sets $(MAKE)... yeschecking whether make supports nested variables... yeschecking whether to enable maintainer-specific portions of Makefiles... nochecking building for Windows... nochecking for g++... g++checking whether the C++ compiler works... yeschecking for C++ compiler default output file name... a.outchecking for suffix of executables... checking whether we are cross compiling... nochecking for suffix of object files... ochecking whether we are using the GNU C++ compiler... yeschecking whether g++ accepts -g... yeschecking whether make supports the include directive... yes (GNU style)checking dependency style of g++... gcc3checking whether g++ supports -march=x86-64... nochecking for pthread_mutex_init in -lpthread... yeschecking for clock_gettime in -lrt... yeschecking for posix_memalign in -lc... yeschecking that generated files are newer than configure... doneconfigure: creating ./config.statusconfig.status: creating Makefileconfig.status: executing depfiles commandsg++ -DPACKAGE_NAME=\"pmbw\" -DPACKAGE_TARNAME=\"pmbw\" -DPACKAGE_VERSION=\"0.6.3\" -DPACKAGE_STRING=\"pmbw\ 0.6.3\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"pmbw\" -DVERSION=\"0.6.3\" -DON_WINDOWS=false -DHAVE_POSIX_MEMALIGN=1 -I. -W -Wall -g -O2 -MT pmbw.o -MD -MP -MF .deps/pmbw.Tpo -c -o pmbw.o pmbw.ccmv -f .deps/pmbw.Tpo .deps/pmbw.Pog++ -W -Wall -g -O2 -o pmbw pmbw.o -lpthread -lrtg++ -DPACKAGE_NAME=\"pmbw\" -DPACKAGE_TARNAME=\"pmbw\" -DPACKAGE_VERSION=\"0.6.3\" -DPACKAGE_STRING=\"pmbw\ 0.6.3\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"pmbw\" -DVERSION=\"0.6.3\" -DON_WINDOWS=false -DHAVE_POSIX_MEMALIGN=1 -I. -W -Wall -g -O2 -MT stats2gnuplot.o -MD -MP -MF .deps/stats2gnuplot.Tpo -c -o stats2gnuplot.o stats2gnuplot.ccmv -f .deps/stats2gnuplot.Tpo .deps/stats2gnuplot.Pog++ -W -Wall -g -O2 -o stats2gnuplot stats2gnuplot.o -lpthread -lrt</pre>====Running the tests====The benchmark was run as follows:<pre class="board-terminal">armbian@Mito8M:~/devel/pmbw$ sudo nice -n -2 ./pmbw -S 0[sudo]password for armbian: Running benchmarks with no upper array size limit.Detected 2997 MiB physical RAM and 4 CPUs.  Allocating 2048 MiB for testing.Running nthreads=1 factor=1073741824 areasize=1024 thrsize=1024 testsize=1024 repeats=1048576 testvol=1073741824 testaccess=268435456run time = 0.694051 -> rerunning test with repeat factor=2320598341Running nthreads=1 factor=2320598341 areasize=1024 thrsize=1024 testsize=1024 repeats=2266210 testvol=2320599040 testaccess=580149760run time = 1.49925 -> next test with repeat factor=2321757595RESULT datetime=2020-01-29 11:52:20 host=Mito8M version=0.6.3 funcname=cScanWrite32PtrSimpleLoop nthreads=1 areasize=1024 threadsize=1024 testsize=1024 repeats=2266210 testvol=2320599040 testaccess=580149760 time=1.4992515009998896858 bandwidth=1547838396.9949886799 rate=2.5842491100916590667e-09Running nthreads=1 factor=2321757595 areasize=2048 thrsize=2048 testsize=2048 repeats=1133671 testvol=2321758208 testaccess=580439552run time = 1.47811 -> next test with repeat factor=2356140806RESULT datetime=2020-01-29 11:52:21 host=Mito8M version=0.6.3 funcname=cScanWrite32PtrSimpleLoop nthreads=1 areasize=2048 threadsize=2048 testsize=2048 repeats=1133671 testvol=2321758208 testaccess=580439552 time=1.4781108589995710645 bandwidth=1570760537.9284164906 rate=2.5465371095172560774e-09Running nthreads=1 factor=2356140806 areasize=3072 thrsize=3072 testsize=3072 repeats=766973 testvol=2356141056 testaccess=589035264...</pre>  To generate the charts plotting the results, the following command was issued:<pre class="board-terminal">./stats2gnuplot stats.txt | gnuplot</pre> ===stressapptest=======Building====Bulding stressapptest is straighforward. The following box illustrates the procedure. Please click on ''Expand'' to visualize the box.<pre class="board-terminal mw-collapsible mw-collapsed">armbian@Mito8M:~/devel/stressapptest$ git clone https://github.com/stressapptest/stressapptest.gitCloning into 'stressapptest'...remote: Enumerating objects: 290, done.remote: Total 290 (delta 0), reused 0 (delta 0), pack-reused 290Receiving objects: 100% (290/290), 324.79 KiB | 1.16 MiB/s, done.Resolving deltas: 100% (196/196), done.armbian@Mito8M:~/devel/stressapptest$ cd stressapptestarmbian@Mito8M:~/devel/stressapptest/stressapptest$ ./configure configure: Compiling with dynamically linked libraries.checking build system type... aarch64-unknown-linux-gnuchecking host system type... aarch64-unknown-linux-gnuchecking for a BSD-compatible install... /usr/bin/install -cchecking whether build environment is sane... yeschecking for a thread-safe mkdir -p... /bin/mkdir -pchecking for gawk... nochecking for mawk... mawkchecking whether make sets $(MAKE)... yeschecking for g++... g++checking whether the C++ compiler works... yeschecking for C++ compiler default output file name... a.outchecking for suffix of executables... checking whether we are cross compiling... nochecking for suffix of object files... ochecking whether we are using the GNU C++ compiler... yeschecking whether g++ accepts -g... yeschecking for style of include used by make... GNUchecking dependency style of g++... gcc3checking for gcc... gccchecking whether we are using the GNU C compiler... yeschecking whether gcc accepts -g... yeschecking for gcc option to accept ISO C89... none neededchecking dependency style of gcc... gcc3checking user ID... armbianchecking host name... Mito8Mchecking current timestamp... Mon Jan 27 16:25:29 CET 2020checking for dirent.h that defines DIR... yeschecking for library containing opendir... none requiredchecking how to run the C preprocessor... gcc -Echecking for grep that handles long lines and -e... /bin/grepchecking for egrep... /bin/grep -Echecking for ANSI C header files... yeschecking for sys/types.h... yeschecking for sys/stat.h... yeschecking for stdlib.h... yeschecking for string.h... yeschecking for memory.h... yeschecking for strings.h... yeschecking for inttypes.h... yeschecking for stdint.h... yeschecking for unistd.h... yeschecking arpa/inet.h usability... yeschecking arpa/inet.h presence... yeschecking for arpa/inet.h... yeschecking fcntl.h usability... yeschecking fcntl.h presence... yeschecking for fcntl.h... yeschecking netdb.h usability... yeschecking netdb.h presence... yeschecking for netdb.h... yeschecking for stdint.h... (cached) yeschecking for stdlib.h... (cached) yeschecking for string.h... (cached) yeschecking sys/ioctl.h usability... yeschecking sys/ioctl.h presence... yeschecking for sys/ioctl.h... yeschecking sys/socket.h usability... yeschecking sys/socket.h presence... yeschecking for sys/socket.h... yeschecking sys/time.h usability... yeschecking sys/time.h presence... yeschecking for sys/time.h... yeschecking for unistd.h... (cached) yeschecking pthread.h usability... yeschecking pthread.h presence... yeschecking for pthread.h... yeschecking for library containing pthread_create... -lpthreadchecking for pthread_barrier_t... yeschecking libaio.h usability... nochecking libaio.h presence... nochecking for libaio.h... nochecking for library containing io_setup... nochecking sys/shm.h usability... yeschecking sys/shm.h presence... yeschecking for sys/shm.h... yeschecking for library containing shm_open... -lrtchecking for stdbool.h that conforms to C99... yeschecking for _Bool... yeschecking for an ANSI C-conforming const... yeschecking for inline... inlinechecking for pid_t... yeschecking for C/C++ restrict keyword... __restrictchecking for size_t... yeschecking for ssize_t... yeschecking whether time.h and sys/time.h may both be included... yeschecking for uint16_t... yeschecking for working volatile... yeschecking whether closedir returns void... nochecking whether gcc needs -traditional... nochecking sys/select.h usability... yeschecking sys/select.h presence... yeschecking for sys/select.h... yeschecking for sys/socket.h... (cached) yeschecking types of arguments for select... int,fd_set *,struct timeval *checking return type of signal handlers... voidchecking whether strerror_r is declared... yeschecking for strerror_r... yeschecking whether strerror_r returns char *Joshua Wyatt Smith ... nochecking for vprintf... yeschecking for _doprnt... nochecking for ftruncate... yeschecking for gettimeofday... yeschecking for memset... yeschecking for munmap... yeschecking for select... yeschecking for socket... yeschecking for strtol... yeschecking for strtoull... yeschecking for mmap64... yeschecking for posix_memalign... yeschecking for rand_r... yeschecking for sched_getaffinity... yesconfigure: creating ./config.statusconfig.status: creating Makefileconfig.status: creating src/Makefileconfig.status: creating src/stressapptest_config.hconfig.status: executing depfiles commandsarmbian@Mito8M:~/devel/stressapptest/stressapptest$ makeCDPATH="${ZSH_VERSION+.}:" && cd . && /bin/bash /home/armbian/devel/stressapptest/stressapptest/missing --run aclocal-1.11 /home/armbian/devel/stressapptest/stressapptest/missing: line 54: aclocal-1.11: command not foundWARNING: `aclocal-1.11' is missing on your system. You should only need it if you modified `acinclude.m4' or `configure.ac'. You might want to install the `Automake' and Andrew Hamilton`Perl' packages. Grab them from any GNU archive site. cd . && /bin/bash /home/armbian/devel/stressapptest/stressapptest/missing --run automake-1.11 --foreign/home/armbian/devel/stressapptest/stressapptest/missing: line 54: automake-1.11: command not foundWARNING: `automake-1.11' is missing on your system. You should only need it if you modified `Makefile.am', [http`acinclude.m4' or `configure.ac'. You might want to install the `Automake' and `Perl' packages. Grab them from any GNU archive site.CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/bash /home/armbian/devel/stressapptest/stressapptest/missing --run autoconfaclocal.m4:16: warning:this file was generated for autoconf 2.65.You have another version of autoconf. It may work, but is not guaranteed to.If you have problems, you may need to regenerate the build system entirely.To do so, use the procedure documented by the package, typically `autoreconf'./bin/inspirehepbash ./config.status --recheckrunning CONFIG_SHELL=/bin/bash /bin/bash ./configure --no-create --no-recursionconfigure: Compiling with dynamically linked libraries.checking build system type... aarch64-unknown-linux-gnuchecking host system type... aarch64-unknown-linux-gnuchecking for a BSD-compatible install...net/recordusr/bin/install -cchecking whether build environment is sane... yeschecking for a thread-safe mkdir -p... /1424637bin/mkdir -pchecking for gawk... nochecking for mawk... mawkchecking whether make sets $(MAKE)... yeschecking for g++... g++checking whether the C++ compiler works... yeschecking for C++ compiler default output file name... a.outchecking for suffix of executables... checking whether we are cross compiling... nochecking for suffix of object files... ochecking whether we are using the GNU C++ compiler... yeschecking whether g++ accepts -g... yeschecking for style of include used by make... GNUchecking dependency style of g++... gcc3checking for gcc... gccchecking whether we are using the GNU C compiler... yeschecking whether gcc accepts -g... yeschecking for gcc option to accept ISO C89... none neededchecking dependency style of gcc... gcc3checking user ID... armbianchecking host name... Mito8Mchecking current timestamp... Mon Jan 27 16:27:41 CET 2020checking for dirent.h that defines DIR... yeschecking for library containing opendir... none requiredchecking how to run the C preprocessor... gcc -Echecking for grep that handles long lines and -e... /bin/grepchecking for egrep... /bin/grep -Echecking for ANSI C header files... yeschecking for sys/types.h... yeschecking for sys/stat.h... yeschecking for stdlib.h... yeschecking for string.h... yeschecking for memory.h... yeschecking for strings.h... yeschecking for inttypes.h... yeschecking for stdint.h... yeschecking for unistd.h... yeschecking arpa/inet.h usability... yeschecking arpa/inet.h presence... yeschecking for arpa/inet.h... yeschecking fcntl.h usability... yeschecking fcntl.h presence... yeschecking for fcntl.h... yeschecking netdb.h usability... yeschecking netdb.h presence... yeschecking for netdb.h... yeschecking for stdint.h... (cached) yeschecking for stdlib.h... (cached) yeschecking for string.h... (cached) yeschecking sys/ioctl.h usability... yeschecking sys/ioctl.h presence... yeschecking for sys/ioctl.h... yeschecking sys/socket.h usability... yeschecking sys/socket.h presence... yeschecking for sys/socket.h... yeschecking sys/time.h usability... yeschecking sys/time.h presence... yeschecking for sys/time.h... yeschecking for unistd.h... (cached) yeschecking pthread.h usability... yeschecking pthread.h presence... yeschecking for pthread.h... yeschecking for library containing pthread_create... -lpthreadchecking for pthread_barrier_t... yeschecking libaio.h usability... nochecking libaio.h presence... nochecking for libaio.h... nochecking for library containing io_setup... nochecking sys/shm.h usability... yeschecking sys/shm.h presence... yeschecking for sys/shm.h... yeschecking for library containing shm_open... -lrtchecking for stdbool.h that conforms to C99... yeschecking for _Bool... yeschecking for an ANSI C-conforming const... yeschecking for inline... inlinechecking for pid_t... yeschecking for C/1719033_626C++ restrict keyword... __restrictchecking for size_t... yeschecking for ssize_t... yeschecking whether time.h and sys/time.h may both be included... yeschecking for uint16_t... yeschecking for working volatile... yeschecking whether closedir returns void... nochecking whether gcc needs -630traditional... nochecking sys/select.h usability... yeschecking sys/select.h presence... yeschecking for sys/select.h... yeschecking for sys/socket.h... (cached) yeschecking types of arguments for select... int,fd_set *,struct timeval *checking return type of signal handlers... voidchecking whether strerror_r is declared... yeschecking for strerror_r... yeschecking whether strerror_r returns char *... nochecking for vprintf... yeschecking for _doprnt... nochecking for ftruncate... yeschecking for gettimeofday... yeschecking for memset... yeschecking for munmap... yeschecking for select... yeschecking for socket... yeschecking for strtol... yeschecking for strtoull.pdf Parallel benchmarks .. yeschecking for mmap64... yeschecking for posix_memalign... yeschecking for rand_r... yeschecking for ARM processors sched_getaffinity... yesconfigure: creating ./config.status /bin/bash ./config.statusconfig.status: creating Makefileconfig.status: creating src/Makefileconfig.status: creating src/stressapptest_config.hconfig.status: executing depfiles commandsMaking all in the highenergy contextsrcmake[1]: Entering directory '/home/armbian/devel/stressapptest/stressapptest/src'(CDPATH="${ZSH_VERSION+.}:" && cd .. && /bin/bash /home/armbian/devel/stressapptest/stressapptest/missing --run autoheader)perl: warning: Setting locale failed.perl: warning: Please check that your locale settings: LANGUAGE = "en_US.UTF-8", LC_ALL = (unset), LC_ADDRESS = "it_IT.UTF-8", LC_NAME = "it_IT.UTF-8", LC_MONETARY = "it_IT.UTF-8", LC_PAPER = "it_IT.UTF-8", LC_IDENTIFICATION = "it_IT.UTF-8", LC_TELEPHONE = "it_IT.UTF-8", LC_MESSAGES = "en_US.UTF-8", LC_MEASUREMENT = "it_IT.UTF-8",*T Wrigley LC_TIME = "it_IT.UTF-8", LC_NUMERIC = "it_IT.UTF-8", G Harmsen LANG = "en_US.UTF-8" are supported and B Melladoinstalled on your system.perl: warning: Falling back to a fallback locale ("en_US.UTF-8").perl: warning: Setting locale failed.perl: warning: Please check that your locale settings: LANGUAGE = "en_US.UTF-8", LC_ALL = (unset), LC_TIME = "it_IT.UTF-8", LC_MONETARY = "it_IT.UTF-8", LC_ADDRESS = "it_IT.UTF-8", LC_TELEPHONE = "it_IT.UTF-8", LC_MESSAGES = "en_US.UTF-8", LC_NAME = "it_IT.UTF-8", LC_MEASUREMENT = "it_IT.UTF-8", LC_IDENTIFICATION = "it_IT.UTF-8", LC_NUMERIC = "it_IT.UTF-8", LC_PAPER = "it_IT.UTF-8", LANG = "en_US.UTF-8" are supported and installed on your system.perl: warning: Falling back to a fallback locale ("en_US.UTF-8").rm -f stamp-h1touch stressapptest_config.h.incd .. && /bin/bash ./config.status src/stressapptest_config.hconfig.status: creating src/stressapptest_config.hconfig.status: src/stressapptest_config.h is unchangedmake all-ammake[http2]:Entering directory '/home/armbian/devel/stressapptest/stressapptest/inspirehepsrc'g++ -DHAVE_CONFIG_H -I.net -DCHECKOPTS -Wreturn-type -Wunused -Wuninitialized -Wall -O3 -funroll-all-loops -funroll-loops -DNDEBUG -MT main.o -MD -MP -MF .deps/recordmain.Tpo -c -o main.o main.ccmv -f .deps/1424631main.Tpo .deps/filesmain.Pog++ -DHAVE_CONFIG_H -I. -DCHECKOPTS -Wreturn-type -Wunused -Wuninitialized -Wall -O3 -funroll-all-loops -funroll-loops -DNDEBUG -MT os.o -MD -MP -MF .deps/1719033_275os.Tpo -c -280o os.o os.ccos.pdf Memory performance of ARM processors and itsrelevance cc:215:2: warning: #warning "Unsupported CPU type: unable to High Energy Physicsdetermine feature set." [-Wcpp] #warning "Unsupported CPU type: unable to determine feature set." ^15:30, 27 January 2020 (UTC)~mv -f .deps/os.Tpo .deps/os.Pog++ -DHAVE_CONFIG_H -I. -DCHECKOPTS -Wreturn-type -Wunused -Wuninitialized -Wall -O3 -funroll-all-loops -funroll-loops -DNDEBUG -MT os_factory.o -MD -MP -MF .deps/os_factory.Tpo -c -o os_factory.o os_factory.ccmv -f .deps/os_factory.Tpo .deps/os_factory.Pog++ -DHAVE_CONFIG_H -I. -DCHECKOPTS -Wreturn-type -Wunused -Wuninitialized -Wall -O3 -funroll-all-loops -funroll-loops -DNDEBUG -MT pattern.o -MD -MP -MF .deps/pattern.Tpo -c -o pattern.o pattern.ccmv -f .deps/pattern.Tpo .deps/pattern.Pog++ -DHAVE_CONFIG_H -I. -DCHECKOPTS -Wreturn-type -Wunused -Wuninitialized -Wall -O3 -funroll-all-loops -funroll-loops -DNDEBUG -MT queue.o -MD -MP -MF .deps/queue.Tpo -c -o queue.o queue.ccmv -f .deps/queue.Tpo .deps/queue.Pog++ -DHAVE_CONFIG_H -I. -DCHECKOPTS -Wreturn-type -Wunused -Wuninitialized -Wall -O3 -funroll-all-loops -funroll-loops -DNDEBUG -MT sat.o -MD -MP -MF .deps/sat.Tpo -c -o sat.o sat.ccmv -f .deps/sat.Tpo .deps/sat.Pog++ -DHAVE_CONFIG_H -I. -DCHECKOPTS -Wreturn-type -Wunused -Wuninitialized -Wall -O3 -funroll-all-loops -funroll-loops -DNDEBUG -MT sat_factory.o -MD -MP -MF .deps/sat_factory.Tpo -c -o sat_factory.o sat_factory.ccmv -f .deps/sat_factory.Tpo .deps/sat_factory.Pog++ -DHAVE_CONFIG_H -I. -DCHECKOPTS -Wreturn-type -Wunused -Wuninitialized -Wall -O3 -funroll-all-loops -funroll-loops -DNDEBUG -MT worker.o -MD -MP -MF .deps/worker.Tpo -c -o worker.o worker.ccworker.cc: In member function ‘virtual void NetworkThread::SetIP(const char*)’:worker.cc:2005:10: warning: ‘char* strncpy(char*G, const char*, size_t)’ specified bound 256 equals destination size [-Wstringop-truncation] strncpy(ipaddr_, ipaddr_init, 256); 15:30, 27 January 2020 (UTC)~~^15:30, 27 January 2020 (UTC)15:30, 27 January 2020 (UTC)15:30, 27 January 2020 (UTC)15:30, 27 January 2020 (UTC)15:30, 27 January 2020 (UTC)~In function ‘bool {anonymous}::sat_strerror(int, char*, int)’, inlined from ‘virtual bool NetworkThread::ReceivePage(int, page_entry*)’ at worker.cc:2154:23:worker.cc:92:14: warning: ‘char* strncpy(char*, const char*, size_t)’ specified bound 256 equals destination size [-Wstringop-truncation] strncpy(buf, errmsg, len); 15:30, 27 January 2020 (UTC)~~^15:30, 27 January 2020 (UTC)15:30, 27 January 2020 (UTC)15:30, 27 January 2020 (UTC)~~In function ‘bool {anonymous}::sat_strerror(int, char*, int)’, inlined from ‘virtual bool NetworkListenThread::Listen()’ at worker.cc:2065:17:worker.cc:92:14: warning: ‘char* strncpy(char*, const char*, size_t)’ specified bound 256 equals destination size [-Wstringop-truncation] strncpy(buf, errmsg, len); 15:30, 27 January 2020 (UTC)~~^15:30, 27 January 2020 (UTC)15:30, 27 January 2020 (UTC)15:30, 27 January 2020 (UTC)~~In function ‘bool {anonymous}::sat_strerror(int, char*, int)’, inlined from ‘virtual bool NetworkThread::SendPage(int, page_entry*)’ at worker.cc:2121:21, inlined from ‘virtual bool NetworkThread::SendPage(int, page_entry*)’ at worker.cc:2110:6:worker.cc:92:14: warning: ‘char* strncpy(char*, const char*, size_t)’ specified bound 256 equals destination size [-Wstringop-truncation] strncpy(buf, errmsg, len); 15:30, 27 January 2020 (UTC)~~^15:30, 27 January 2020 (UTC)15:30, 27 January 2020 (UTC)15:30, 27 January 2020 (UTC)~~In function ‘bool {anonymous}::sat_strerror(int, char*, int)’, inlined from ‘virtual bool NetworkThread::ReceivePage(int, page_entry*)’ at worker.cc:2154:23, inlined from ‘virtual bool NetworkSlaveThread::Work()’ at worker.cc:2402:21:worker.cc:92:14: warning: ‘char* strncpy(char*, const char*, size_t)’ specified bound 256 equals destination size [-Wstringop-truncation] strncpy(buf, errmsg, len); 15:30, 27 January 2020 (UTC)~~^15:30, 27 January 2020 (UTC)15:30, 27 January 2020 (UTC)15:30, 27 January 2020 (UTC)~~In function ‘bool {anonymous}::sat_strerror(int, char*, int)’, inlined from ‘virtual bool NetworkThread::SendPage(int, page_entry*)’ at worker.cc:2121:21, inlined from ‘virtual bool NetworkThread::SendPage(int, page_entry*)’ at worker.cc:2110:6, inlined from ‘virtual bool NetworkSlaveThread::Work()’ at worker.cc:2406:18:worker.cc:92:14: warning: ‘char* strncpy(char*, const char*, size_t)’ specified bound 256 equals destination size [-Wstringop-truncation] strncpy(buf, errmsg, len); 15:30, 27 January 2020 (UTC)~~^15:30, 27 January 2020 (UTC)15:30, 27 January 2020 (UTC)15:30, 27 January 2020 (UTC)~~In function ‘bool {anonymous}::sat_strerror(int, char*, int)’, inlined from ‘virtual bool NetworkThread::SendPage(int, page_entry*)’ at worker.cc:2121:21, inlined from ‘virtual bool NetworkThread::SendPage(int, page_entry*)’ at worker.cc:2110:6, inlined from ‘virtual bool NetworkThread::Work()’ at worker. Tcc:2228:38:worker. Wrigleycc:92:14: warning: ‘char* strncpy(char*, const char*, size_t)’ specified bound 256 equals destination size [-Wstringop-truncation] strncpy(buf, errmsg, len); 15:30, 27 January 2020 (UTC)~~^15:30, 27 January 2020 (UTC)15:30, 27 January 2020 (UTC)15:30, 27 January 2020 (UTC)~~In function ‘bool {anonymous}::sat_strerror(int, Rchar*, int)’, inlined from ‘int WorkerThread::SpawnThread()’ at worker. Gcc:339:17:worker. Reedcc:92:14: warning: ‘char* strncpy(char*, Bconst char*, size_t)’ specified bound 256 equals destination size [-Wstringop-truncation] strncpy(buf, errmsg, len); 15:30, 27 January 2020 (UTC)~~^15:30, 27 January 2020 (UTC)15:30, 27 January 2020 (UTC)15:30, 27 January 2020 (UTC)~~mv -f .deps/worker.Tpo .deps/worker.Pog++ -DHAVE_CONFIG_H -I. -DCHECKOPTS -Wreturn-type -Wunused -Wuninitialized -Wall -O3 -funroll-all-loops -funroll-loops -DNDEBUG -MT finelock_queue.o -MD -MP -MF .deps/finelock_queue.Tpo -c -o finelock_queue.o finelock_queue.ccmv -f .deps/finelock_queue.Tpo .deps/finelock_queue.Pog++ -DHAVE_CONFIG_H -I. -DCHECKOPTS -Wreturn-type -Wunused -Wuninitialized -Wall -O3 -funroll-all-loops -funroll-loops -DNDEBUG -MT error_diag.o -MD -MP -MF .deps/error_diag.Tpo -c -o error_diag.o error_diag.ccmv -f .deps/error_diag.Tpo .deps/error_diag.Pog++ -DHAVE_CONFIG_H -I. -DCHECKOPTS -Wreturn-type -Wunused -Wuninitialized -Wall -O3 -funroll-all-loops -funroll-loops -DNDEBUG -MT disk_blocks.o -MD -MP -MF .deps/disk_blocks.Tpo -c -o disk_blocks.o disk_blocks.ccmv -f .deps/disk_blocks.Tpo .deps/disk_blocks.Pog++ -DHAVE_CONFIG_H -I. -DCHECKOPTS -Wreturn-type -Wunused -Wuninitialized -Wall -O3 -funroll-all-loops -funroll-loops -DNDEBUG -MT adler32memcpy.o -MD -MP -MF .deps/adler32memcpy.Tpo -c -o adler32memcpy.o adler32memcpy.ccadler32memcpy.cc:519:4: warning: #warning "No vector copy defined for this architecture." [-Wcpp] #warning "No vector copy defined for this architecture. Mellado" ^15:30, 27 January 2020 (UTC)~mv -f .deps/adler32memcpy.Tpo .deps/adler32memcpy.Pog++ -DHAVE_CONFIG_H -I. -DCHECKOPTS -Wreturn-type -Wunused -Wuninitialized -Wall -O3 -funroll-all-loops -funroll-loops -DNDEBUG -MT logger.o -MD -MP -MF .deps/logger.Tpo -c -o logger.o logger.ccmv -f .deps/logger.Tpo .deps/logger.Pog++ -DCHECKOPTS -Wreturn-type -Wunused -Wuninitialized -Wall -O3 -funroll-all-loops -funroll-loops -DNDEBUG -o stressapptest main.o os.o os_factory.o pattern.o queue.o sat.o sat_factory.o worker.o finelock_queue.o error_diag.o disk_blocks.o adler32memcpy.o logger.o -lrt -lpthread gcc -DHAVE_CONFIG_H -I. -g -O2 -MT findmask.o -MD -MP -MF .deps/findmask.Tpo -c -o findmask.o findmask.cmv -f .deps/findmask.Tpo .deps/findmask.Pogcc -g -O2 -o findmask findmask.o -lrt -lpthread make[2]: Leaving directory '/home/armbian/devel/stressapptest/stressapptest/src'make[1]: Leaving directory '/home/armbian/devel/stressapptest/stressapptest/src'make[1]: Entering directory '/home/armbian/devel/stressapptest/stressapptest'make[1]: Nothing to be done for 'all-am'.make[http1]: Leaving directory '/home/armbian/devel/stressapptest/stressapptest'</pre> ====Running the tests====Please click on ''Expand'' to visualize the boxes.=====ARM core clock = 800 MHz=====<pre class="board-terminal mw-collapsible mw-collapsed">armbian@Mito8M:~/devel/stressapptest/stressapptest/src$ ./stressapptest -M 32 -s 5 -v 202020/01/27-16:23:44(CET) Log: Commandline - ./stressapptest -M 32 -s 5 -v 202020/01/27-16:23:44(CET) Stats: SAT revision 1.0.9_autoconf, 64 bit binary2020/01/27-16:23:44(CET) Log: armbian @ Mito8M on Mon Jan 27 16:08:57 CET 2020 from open source release2020/01/27-16:23:44(CET) Log: 1 nodes, 4 cpus.2020/01/27-16:23:44(CET) Log: Defaulting to 4 copy threads2020/01/27-16:23:44(CET) Log: Prefer plain malloc memory allocation.2020/01/27-16:23:44(CET) Log: Using mmap() allocation at 0xffff8a31a000.2020/01/27-16:23:44(CET) Stats: Starting SAT, 32M, 5 seconds2020/01/27-16:23:44(CET) Log: initialized 120 data patterns2020/01/27-16:23:44(CET) Log: Allocating pages, Total: 32 Free: 122020/01/27-16:23:44(CET) Starting Fill threads: 8 threads, 32 pages2020/01/27-16:23:44(CET) Starting Fill Threads 0: 4 pages2020/01/27-16:23:44(CET) Starting Fill Threads 1: 4 pages2020/01/27-16:23:44(CET) Starting Fill Threads 2: 4 pages2020/01/27-16:23:44(CET) Starting Fill Threads 3: 4 pages2020/01/27-16:23:44(CET) Starting Fill Threads 4: 4 pages2020/01/27-16:23:44(CET) Starting Fill Threads 5: 4 pages2020/01/27-16:23:44(CET) Starting Fill Threads 6: 4 pages2020/01/27-16:23:44(CET) Starting Fill Threads 7: 4 pages2020/01/27-16:23:44(CET) Log: Thread 0 running on core ID 0 mask F (F).2020/01/27-16:23:44(CET) Log: Starting fill thread 02020/01/27-16:23:44(CET) Log: Thread 1 running on core ID 1 mask F (F).2020/01/27-16:23:44(CET) Log: Starting fill thread 12020/01/27-16:23:44(CET) Log: Thread 2 running on core ID 0 mask F (F).2020/01/27-16:23:44(CET) Log: Starting fill thread 22020/01/27-16:23:44(CET) Log: Thread 3 running on core ID 1 mask F (F).2020/01/27-16:23:44(CET) Log: Starting fill thread 32020/01/27-16:23:44(CET) Log: Thread 4 running on core ID 2 mask F (F).2020/01/27-16:23:44(CET) Log: Starting fill thread 42020/01/27-16:23:44(CET) Log: Completed 0: Fill thread. Status 1, 4 pages filled2020/01/27-16:23:44(CET) Log: Completed 3: Fill thread. Status 1, 4 pages filled2020/01/27-16:23:44(CET) Log: Completed 2: Fill thread. Status 1, 4 pages filled2020/01/27-16:23:44(CET) Log: Completed 1: Fill thread. Status 1, 4 pages filled2020/01/27-16:23:44(CET) Log: Thread 5 running on core ID 1 mask F (F).2020/01/27-16:23:44(CET) Log: Starting fill thread 52020/01/27-16:23:44(CET) Log: Thread 7 running on core ID 3 mask F (F).2020/01/27-16:23:44(CET) Log: Starting fill thread 72020/01/27-16:23:44(CET) Log: Thread 6 running on core ID 0 mask F (F).2020/01/27-16:23:44(CET) Log: Starting fill thread 62020/01/27-16:23:44(CET) Log: Completed 4: Fill thread. Status 1, 4 pages filled2020/01/27-16:23:44(CET) Log: Completed 5: Fill thread. Status 1, 4 pages filled2020/01/27-16:23:44(CET) Log: Completed 7: Fill thread. Status 1, 4 pages filled2020/01/27-16:23:44(CET) Log: Completed 6: Fill thread. Status 1, 4 pages filled2020/01/27-16:23:44(CET) Log: Done filling pages.2020/01/27-16:23:44(CET) Log: Allocating pages.2020/01/27-16:23:44(CET) Log: Done allocating pages.2020/01/27-16:23:44(CET) Log: Region 0: 32.2020/01/27-16:23:44(CET) Log: Region mask: 0x12020/01/27-16:23:44(CET) Log: Installing signal handlers2020/01/27-16:23:44(CET) Log: Launching worker threads2020/01/27-16:23:44(CET) Log: Starting worker threads2020/01/27-16:23:44(CET) Log: Starting invert threads2020/01/27-16:23:44(CET) Log: Starting disk stress threads2020/01/27-16:23:44(CET) Log: Starting cpu stress threads2020/01/27-16:23:44(CET) Log: Initializing WorkerStatus objects2020/01/27-16:23:44(CET) Log: Spawning worker threads2020/01/27-16:23:44(CET) Log: Spawning thread 12020/01/27-16:23:44(CET) Log: Spawning thread 22020/01/27-16:23:44(CET) Log: Spawning thread 32020/01/27-16:23:44(CET) Log: available CPU mask - F2020/01/27-16:23:44(CET) Log: Spawning thread 42020/01/27-16:23:44(CET) Log: Spawning thread 02020/01/27-16:23:44(CET) Log: available CPU mask - F2020/01/27-16:23:44(CET) Log: Starting countdown with 5 seconds2020/01/27-16:23:44(CET) Log: Thread 4 running on core ID 3 mask 8 (8).2020/01/27-16:23:44(CET) Log: Starting copy thread 4: cpu 8, mem ffffffff2020/01/27-16:23:44(CET) Log: available CPU mask - F2020/01/27-16:23:44(CET) Log: Thread 0 running on core ID 2 mask F (F).2020/01/27-16:23:44(CET) Log: Starting system error poll thread 02020/01/27-16:23:44(CET) Log: Thread 3 running on core ID 1 mask 2 (2).2020/01/27-16:23:44(CET) Log: Thread 1 running on core ID 0 mask 1 (1).2020/01/27-16:23:44(CET) Log: Starting copy thread 1: cpu 1, mem ffffffff2020/01/27-16:23:44(CET) Log: Starting copy thread 3: cpu 2, mem ffffffff2020/01/27-16:23:44(CET) Log: available CPU mask - F2020/01/27-16:23:44(CET) Log: Thread 2 running on core ID 2 mask 4 (4).2020/01/27-16:23:44(CET) Log: Starting copy thread 2: cpu 4, mem ffffffff2020/01/27-16:23:49(CET) Log: Joining worker threads2020/01/27-16:23:49(CET) Log: Joining thread 12020/01/27-16:23:49(CET) Log: Finished system error poll thread 0: 0 errors2020/01/27-16:23:49(CET) Log: Completed 1: Copy thread. Status 1, 3410 pages copied2020/01/27-16:23:49(CET) Log: Joining thread 22020/01/27-16:23:49(CET) Log: Completed 4: Copy thread. Status 1, 3446 pages copied2020/01/27-16:23:49(CET) Log: Completed 2: Copy thread. Status 1, 3415 pages copied2020/01/27-16:23:49(CET) Log: Joining thread 32020/01/27-16:23:49(CET) Log: Completed 3: Copy thread. Status 1, 3440 pages copied2020/01/27-16:23:49(CET) Log: Joining thread 42020/01/27-16:23:49(CET) Log: Joining thread 02020/01/27-16:23:49(CET) Log: Reads per page histogram2020/01/27-16:23:49(CET) Log: 256 - 512: 242020/01/27-16:23:49(CET) Log: 512 - 1024: 82020/01/27-16:23:49(CET) Log: Finished countdown, begin to result check2020/01/27-16:23:49(CET) Log: Finished countdown, begin to result check2020/01/27-16:23:49(CET) Log: Finished countdown, begin to result check2020/01/27-16:23:49(CET) Log: Finished countdown, begin to result check2020/01/27-16:23:49(CET) Log: Finished countdown, begin to result check2020/01/27-16:23:49(CET) Log: Finished countdown, begin to result check2020/01/27-16:23:49(CET) Log: Finished countdown, begin to result check2020/01/27-16:23:49(CET) Log: Finished countdown, begin to result check2020/01/27-16:23:49(CET) Log: Finished countdown, begin to result check2020/01/27-16:23:49(CET) Log: Spawning thread 52020/01/27-16:23:49(CET) Log: Spawning thread 62020/01/27-16:23:49(CET) Log: Thread 5 running on core ID 1 mask F (F).2020/01/27-16:23:49(CET) Log: Starting Check thread 52020/01/27-16:23:49(CET) Log: Thread 6 running on core ID 3 mask F (F).2020/01/27-16:23:49(CET) Log: Starting Check thread 62020/01/27-16:23:49(CET) Log: Spawning thread 72020/01/27-16:23:49(CET) Log: Spawning thread 82020/01/27-16:23:49(CET) Log: Spawning thread 92020/01/27-16:23:49(CET) Log: Spawning thread 102020/01/27-16:23:49(CET) Log: Spawning thread 112020/01/27-16:23:49(CET) Log: Spawning thread 122020/01/27-16:23:49(CET) Log: Joining thread 52020/01/27-16:23:49(CET) Log: Thread 12 running on core ID 0 mask F (F).2020/01/27-16:23:49(CET) Log: Starting Check thread 122020/01/27-16:23:49(CET) Log: Thread 8 running on core ID 2 mask F (F).2020/01/27-16:23:49(CET) Log: Thread 9 running on core ID 2 mask F (F).2020/01/27-16:23:49(CET) Log: Starting Check thread 92020/01/27-16:23:49(CET) Log: Starting Check thread 82020/01/27-16:23:49(CET) Log: Completed 12: Check thread. Status 1, 4 pages checked2020/01/27-16:23:49(CET) Log: Completed 5: Check thread. Status 1, 7 pages checked2020/01/27-16:23:49(CET) Log: Completed 6: Check thread. Status 1, 7 pages checked2020/01/27-16:23:49(CET) Log: Joining thread 62020/01/27-16:23:49(CET) Log: Joining thread 72020/01/27-16:23:49(CET) Log: Thread 10 running on core ID 1 mask F (F).2020/01/27-16:23:49(CET) Log: Thread 11 running on core ID 0 mask F (F).2020/01/27-16:23:49(CET) Log: Starting Check thread 102020/01/27-16:23:49(CET) Log: Starting Check thread 112020/01/27-16:23:49(CET) Log: Completed 10: Check thread. Status 1, 0 pages checked2020/01/27-16:23:49(CET) Log: Completed 11: Check thread. Status 1, 0 pages checked2020/01/27-16:23:49(CET) Log: Thread 7 running on core ID 1 mask F (F).2020/01/27-16:23:49(CET) Log: Starting Check thread 72020/01/27-16:23:49(CET) Log: Completed 7: Check thread. Status 1, 0 pages checked2020/01/27-16:23:49(CET) Log: Completed 8: Check thread. Status 1, 2 pages checked2020/01/27-16:23:49(CET) Log:Joining thread 82020/01/inspirehep27-16:23:49(CET) Log: Completed 9: Check thread.netStatus 1, 0 pages checked2020/01/27-16:23:49(CET) Log: Joining thread 92020/01/27-16:23:49(CET) Log: Joining thread 102020/01/27-16:23:49(CET) Log: Joining thread 112020/01/27-16:23:49(CET) Log: Joining thread 122020/01/27-16:23:49(CET) Log: Join all outstanding threads2020/01/27-16:23:49(CET) Log: Reaping thread status 12020/01/27-16:23:49(CET) Log: Thread 1 found 0 hardware incidents2020/01/27-16:23:49(CET) Log: Reaping thread status 22020/01/27-16:23:49(CET) Log: Thread 2 found 0 hardware incidents2020/01/27-16:23:49(CET) Log: Reaping thread status 32020/01/27-16:23:49(CET) Log: Thread 3 found 0 hardware incidents2020/01/27-16:23:49(CET) Log: Reaping thread status 42020/01/27-16:23:49(CET) Log: Thread 4 found 0 hardware incidents2020/01/27-16:23:49(CET) Log: Reaping thread status 02020/01/27-16:23:49(CET) Log: Thread 0 found 0 hardware incidents2020/01/27-16:23:49(CET) Log: Reaping thread status 52020/01/27-16:23:49(CET) Log: Thread 5 found 0 hardware incidents2020/01/27-16:23:49(CET) Log: Reaping thread status 62020/01/27-16:23:49(CET) Log: Thread 6 found 0 hardware incidents2020/01/27-16:23:49(CET) Log: Reaping thread status 72020/01/27-16:23:49(CET) Log: Thread 7 found 0 hardware incidents2020/record01/142463727-16:23:49(CET) Log: Reaping thread status 82020/files01/27-16:23:49(CET) Log: Thread 8 found 0 hardware incidents2020/01/27-16:23:49(CET) Log: Reaping thread status 92020/01/27-16:23:49(CET) Log: Thread 9 found 0 hardware incidents2020/01/27-16:23:49(CET) Log: Reaping thread status 102020/01/27-16:23:49(CET) Log: Thread 10 found 0 hardware incidents2020/01/27-16:23:49(CET) Log: Reaping thread status 112020/01/27-16:23:49(CET) Log: Thread 11 found 0 hardware incidents2020/01/27-16:23:49(CET) Log: Reaping thread status 122020/01/27-16:23:49(CET) Log: Thread 12 found 0 hardware incidents2020/01/27-16:23:49(CET) Stats: Found 0 hardware incidents2020/01/1719033_62627-63016:23:49(CET) Stats: Completed: 27422.pdf 00M in 5.00s 5482.17MB/s, with 0 hardware incidents, 0 errors2020/01/27-16:23:49(CET) Stats: Memory benchmarking characterisation of Copy: 27422.00M at 5483.92MB/s2020/01/27-16:23:49(CET) Stats: File Copy: 0.00M at 0.00MB/s2020/01/27-16:23:49(CET) Stats: Net Copy: 0.00M at 0.00MB/s2020/01/27-16:23:49(CET) Stats: Data Check: 0.00M at 0.00MB/s2020/01/27-16:23:49(CET) Stats: Invert Data: 0.00M at 0.00MB/s2020/01/27-16:23:49(CET) Stats: Disk: 0.00M at 0.00MB/s2020/01/27-16:23:49(CET) Log: Deleting worker threads2020/01/27-16:23:49(CET) Log: Deleting thread 12020/01/27-16:23:49(CET) Log: Deleting thread 22020/01/27-16:23:49(CET) Log: Deleting thread 32020/01/27-16:23:49(CET) Log: Deleting thread 42020/01/27-16:23:49(CET) Log: Deleting thread 02020/01/27-16:23:49(CET) Log: Destroying WorkerStatus objects2020/01/27-16:23:49(CET) Log: Uninstalling signal handlers2020/01/27-16:23:49(CET) 2020/01/27-16:23:49(CET) Status: PASS - please verify no corrected errors2020/01/27-16:23:49(CET)</pre> =====ARMcore clock = 1300 MHz=====<pre class="board-terminal mw-collapsible mw-collapsed">armbian@Mito8M:~/devel/stressapptest/stressapptest/src$ ./stressapptest -M 32 -s 5 -v 202020/01/27-16:22:14(CET) Log: Commandline - ./stressapptest -M 32 -s 5 -v 202020/01/27-16:22:14(CET) Stats: SAT revision 1.0.9_autoconf, 64 bit binary2020/01/27-16:22:14(CET) Log: armbian @ Mito8M on Mon Jan 27 16:08:57 CET 2020 from open source release2020/01/27-16:22:14(CET) Log: 1 nodes, 4 cpus.2020/01/27-16:22:14(CET) Log: Defaulting to 4 copy threads2020/01/27-16:22:14(CET) Log: Prefer plain malloc memory allocation.2020/01/27-16:22:14(CET) Log: Using mmap() allocation at 0xffff9e7ea000.2020/01/27-16:22:14(CET) Stats: Starting SAT, 32M, 5 seconds2020/01/27-16:22:14(CET) Log: initialized 120 data patterns2020/01/27-16:22:14(CET) Log: Allocating pages, Total: 32 Free: 122020/01/27-16:22:14(CET) Starting Fill threads: 8 threads, 32 pages2020/01/27-16:22:14(CET) Starting Fill Threads 0: 4 pages2020/01/27-16:22:14(CET) Starting Fill Threads 1: 4 pages2020/01/27-16:22:14(CET) Starting Fill Threads 2: 4 pages2020/01/27-16:22:14(CET) Starting Fill Threads 3: 4 pages2020/01/27-16:22:14(CET) Starting Fill Threads 4: 4 pages2020/01/27-16:22:14(CET) Starting Fill Threads 5: 4 pages2020/01/27-16:22:14(CET) Starting Fill Threads 6: 4 pages2020/01/27-16:22:14(CET) Starting Fill Threads 7: 4 pages2020/01/27-16:22:14(CET) Log: Thread 0 running on core ID 1 mask F (F).2020/01/27-16:22:14(CET) Log: Starting fill thread 02020/01/27-16:22:14(CET) Log: Thread 2 running on core ID 2 mask F (F).2020/01/27-16:22:14(CET) Log: Thread 1 running on core ID 0 mask F (F).2020/01/27-16:22:14(CET) Log: Starting fill thread 12020/01/27-16:22:14(CET) Log: Thread 4 running on core ID 3 mask F (F).2020/01/27-16:22:14(CET) Log: Starting fill thread 42020/01/27-16:22:14(CET) Log: Starting fill thread 22020/01/27-16:22:14(CET) Log: Thread 3 running on core ID 2 mask F (F).2020/01/27-16:22:14(CET) Log: Starting fill thread 32020/01/27-16:22:14(CET) Log: Completed 1: Fill thread. Status 1, 4 pages filled2020/01/27-16:22:14(CET) Log: Completed 3: Fill thread. Status 1, 4 pages filled2020/01/27-16:22:14(CET) Log: Completed 4: Fill thread. Status 1, 4 pages filled2020/01/27-16:22:14(CET) Log: Thread 7 running on core ID 3 mask F (F).2020/01/27-16:22:14(CET) Log: Starting fill thread 72020/01/27-16:22:14(CET) Log: Thread 5 running on core ID 2 mask F (F).2020/01/27-16:22:14(CET) Log: Thread 6 running on core ID 2 mask F (F).2020/01/27-16:22:14(CET) Log: Starting fill thread 62020/01/27-16:22:14(CET) Log: Starting fill thread 52020/01/27-16:22:14(CET) Log: Completed 0: Fill thread. Status 1, 4 pages filled2020/01/27-16:22:14(CET) Log: Completed 6: Fill thread. Status 1, 4 pages filled2020/01/27-16:22:14(CET) Log: Completed 7: Fill thread. Status 1, 4 pages filled2020/01/27-16:22:14(CET) Log: Completed 5: Fill thread. Status 1, 4 pages filled2020/01/27-16:22:14(CET) Log: Completed 2: Fill thread. Status 1, 4 pages filled2020/01/27-16:22:14(CET) Log: Done filling pages.2020/01/27-16:22:14(CET) Log: Allocating pages.2020/01/27-16:22:14(CET) Log: Done allocating pages.2020/01/27-16:22:14(CET) Log: Region 0: 32.2020/01/27-16:22:14(CET) Log: Region mask: 0x12020/01/27-16:22:14(CET) Log: Installing signal handlers2020/01/27-16:22:14(CET) Log: Launching worker threads2020/01/27-16:22:14(CET) Log: Starting worker threads2020/01/27-16:22:14(CET) Log: Starting invert threads2020/01/27-16:22:14(CET) Log: Starting disk stress threads2020/01/27-16:22:14(CET) Log: Starting cpu stress threads2020/01/27-16:22:14(CET) Log: Initializing WorkerStatus objects2020/01/27-16:22:14(CET) Log: Spawning worker threads2020/01/27-16:22:14(CET) Log: Spawning thread 12020/01/27-16:22:14(CET) Log: Spawning thread 22020/01/27-16:22:14(CET) Log: Spawning thread 32020/01/27-16:22:14(CET) Log: available CPU mask - F2020/01/27-16:22:14(CET) Log: Spawning thread 42020/01/27-16:22:14(CET) Log: Spawning thread 02020/01/27-16:22:14(CET) Log: available CPU mask - F2020/01/27-16:22:14(CET) Log: Thread 4 running on core ID 3 mask 8 (8).2020/01/27-16:22:14(CET) Log: Starting countdown with 5 seconds2020/01/27-16:22:14(CET) Log: Starting copy thread 4: cpu 8, mem ffffffff2020/01/27-16:22:14(CET) Log: Thread 1 running on core ID 0 mask 1 (1).2020/01/27-16:22:14(CET) Log: available CPU mask - F2020/01/27-16:22:14(CET) Log: Starting copy thread 1: cpu 1, mem ffffffff2020/01/27-16:22:14(CET) Log: available CPU mask - F2020/01/27-16:22:14(CET) Log: Thread 3 running on core ID 1 mask 2 (2).2020/01/27-16:22:14(CET) Log: Starting copy thread 3: cpu 2, mem ffffffff2020/01/27-16:22:14(CET) Log: Thread 2 running on core ID 2 mask 4 (4).2020/01/27-16:22:14(CET) Log: Starting copy thread 2: cpu 4, mem ffffffff2020/01/27-16:22:14(CET) Log: Thread 0 running on core ID 3 mask F (F).2020/01/27-16:22:14(CET) Log: Starting system error poll thread 02020/01/27-16:22:19(CET) Log: Joining worker threads2020/01/27-16:22:19(CET) Log: Joining thread 12020/01/27-16:22:19(CET) Log: Completed 3: Copy thread. Status 1, 3639 pages copied2020/01/27-16:22:19(CET) Log: Completed 4: Copy thread. Status 1, 3645 pages copied2020/01/27-16:22:19(CET) Log: Completed 1: Copy thread. Status 1, 3633 pages copied2020/01/27-16:22:19(CET) Log: Joining thread 22020/01/27-16:22:19(CET) Log: Completed 2: Copy thread. Status 1, 3595 pages copied2020/01/27-16:22:19(CET) Log: Joining thread 32020/01/27-16:22:19(CET) Log: Joining thread 42020/01/27-16:22:19(CET) Log: Joining thread 02020/01/27-16:22:19(CET) Log: Finished system error poll thread 0: 0 errors2020/01/27-16:22:19(CET) Log: Reads per page histogram2020/01/27-16:22:19(CET) Log: 128 - 256: 12020/01/27-16:22:19(CET) Log: 256 - 512: 192020/01/27-16:22:19(CET) Log: 512 - 1024: 122020/01/27-16:22:19(CET) Log: Finished countdown, begin to result check2020/01/27-16:22:19(CET) Log: Finished countdown, begin to result check2020/01/27-16:22:19(CET) Log: Finished countdown, begin to result check2020/01/27-16:22:19(CET) Log: Finished countdown, begin to result check2020/01/27-16:22:19(CET) Log: Finished countdown, begin to result check2020/01/27-16:22:19(CET) Log: Finished countdown, begin to result check2020/01/27-16:22:19(CET) Log: Finished countdown, begin to result check2020/01/27-16:22:19(CET) Log: Finished countdown, begin to result check2020/01/27-16:22:19(CET) Log: Finished countdown, begin to result check2020/01/27-16:22:19(CET) Log: Spawning thread 52020/01/27-16:22:19(CET) Log: Spawning thread 62020/01/27-16:22:19(CET) Log: Spawning thread 72020/01/27-16:22:19(CET) Log: Thread 5 running on core ID 0 mask F (F).2020/01/27-16:22:19(CET) Log: Starting Check thread 52020/01/27-16:22:19(CET) Log: Spawning thread 82020/01/27-16:22:19(CET) Log: Spawning thread 92020/01/27-16:22:19(CET) Log: Spawning thread 102020/01/27-based SoCs]16:22:19(CET) Log: Spawning thread 112020/01/27-16:22:19(CET) Log: Spawning thread 122020/01/27-16:22:19(CET) Log: Joining thread 52020/01/27-16:22:19(CET) Log: Thread 12 running on core ID 2 mask F (F).2020/01/27-16:22:19(CET) Log: Starting Check thread 122020/01/27-16:22:19(CET) Log: Thread 6 running on core ID 1 mask F (F).2020/01/27-16:22:19(CET) Log: Thread 8 running on core ID 3 mask F (F).2020/01/27-16:22:19(CET) Log: Starting Check thread 82020/01/27-16:22:19(CET) Log: Starting Check thread 62020/01/27-16:22:19(CET) Log: Thread 9 running on core ID 3 mask F (F).2020/01/27-16:22:19(CET) Log: Completed 8: Check thread. Status 1, 5 pages checked2020/01/27-16:22:19(CET) Log: Starting Check thread 92020/01/27-16:22:19(CET) Log: Completed 9: Check thread. Status 1, 0 pages checked2020/01/27-16:22:19(CET) Log: Completed 12: Check thread. Status 1, 5 pages checked2020/01/27-16:22:19(CET) Log: Completed 5: Check thread. Status 1, 5 pages checked2020/01/27-16:22:19(CET) Log: Joining thread 62020/01/27-16:22:19(CET) Log: Thread 11 running on core ID 2 mask F (F).2020/01/27-16:22:19(CET) Log: Starting Check thread 112020/01/27-16:22:19(CET) Log: Completed 11: Check thread. Status 1, 0 pages checked2020/01/27-16:22:19(CET) Log: Thread 10 running on core ID 0 mask F (F).2020/01/27-16:22:20(CET) Log: Starting Check thread 102020/01/27-16:22:20(CET) Log: Completed 10: Check thread. Status 1, 0 pages checked2020/01/27-16:22:19(CET) Log: Thread 7 running on core ID 2 mask F (F).2020/01/27-16:22:19(CET) Log: Completed 6: Check thread. Status 1, 5 pages checked2020/01/27-16:22:20(CET) Log: Starting Check thread 72020/01/27-16:22:20(CET) Log: Completed 7: Check thread. Status 1, 0 pages checked2020/01/27-16:22:20(CET) Log: Joining thread 72020/01/27-16:22:20(CET) Log: Joining thread 82020/01/27-16:22:20(CET) Log: Joining thread 92020/01/27-16:22:20(CET) Log: Joining thread 102020/01/27-16:22:20(CET) Log: Joining thread 112020/01/27-16:22:20(CET) Log: Joining thread 122020/01/27-16:22:20(CET) Log: Join all outstanding threads2020/01/27-16:22:20(CET) Log: Reaping thread status 12020/01/27-16:22:20(CET) Log: Thread 1 found 0 hardware incidents2020/01/27-16:22:20(CET) Log: Reaping thread status 22020/01/27-16:22:20(CET) Log: Thread 2 found 0 hardware incidents2020/01/27-16:22:20(CET) Log: Reaping thread status 32020/01/27-16:22:20(CET) Log: Thread 3 found 0 hardware incidents2020/01/27-16:22:20(CET) Log: Reaping thread status 42020/01/27-16:22:20(CET) Log: Thread 4 found 0 hardware incidents2020/01/27-16:22:20(CET) Log: Reaping thread status 02020/01/27-16:22:20(CET) Log: Thread 0 found 0 hardware incidents2020/01/27-16:22:20(CET) Log: Reaping thread status 52020/01/27-16:22:20(CET) Log: Thread 5 found 0 hardware incidents2020/01/27-16:22:20(CET) Log: Reaping thread status 62020/01/27-16:22:20(CET) Log: Thread 6 found 0 hardware incidents2020/01/27-16:22:20(CET) Log: Reaping thread status 72020/01/27-16:22:20(CET) Log: Thread 7 found 0 hardware incidents2020/01/27-16:22:20(CET) Log: Reaping thread status 82020/01/27-16:22:20(CET) Log: Thread 8 found 0 hardware incidents2020/01/27-16:22:20(CET) Log: Reaping thread status 92020/01/27-16:22:20(CET) Log: Thread 9 found 0 hardware incidents2020/01/27-16:22:20(CET) Log: Reaping thread status 102020/01/27-16:22:20(CET) Log: Thread 10 found 0 hardware incidents2020/01/27-16:22:20(CET) Log: Reaping thread status 112020/01/27-16:22:20(CET) Log: Thread 11 found 0 hardware incidents2020/01/27-16:22:20(CET) Log: Reaping thread status 122020/01/27-16:22:20(CET) Log: Thread 12 found 0 hardware incidents2020/01/27-16:22:20(CET) Stats: Found 0 hardware incidents2020/01/27-16:22:20(CET) Stats: Completed: 29024.00M in 5.00s 5803.50MB/s, with 0 hardware incidents, 0 errors2020/01/27-16:22:20(CET) Stats: Memory Copy: 29024.00M at 5804.33MB/s2020/01/27-16:22:20(CET) Stats: File Copy: 0.00M at 0.00MB/s2020/01/27-16:22:20(CET) Stats: Net Copy: 0.00M at 0.00MB/s2020/01/27-16:22:20(CET) Stats: Data Check: 0.00M at 0.00MB/s2020/01/27-16:22:20(CET) Stats: Invert Data: 0.00M at 0.00MB/s2020/01/27-16:22:20(CET) Stats: Disk: 0.00M at 0.00MB/s2020/01/27-16:22:20(CET) Log: Deleting worker threads2020/01/27-16:22:20(CET) Log: Deleting thread 12020/01/27-16:22:20(CET) Log: Deleting thread 22020/01/27-16:22:20(CET) Log: Deleting thread 32020/01/27-16:22:20(CET) Log: Deleting thread 42020/01/27-16:22:20(CET) Log: Deleting thread 02020/01/27-16:22:20(CET) Log: Destroying WorkerStatus objects2020/01/27-16:22:20(CET) Log: Uninstalling signal handlers2020/01/27-16:22:20(CET) 2020/01/27-16:22:20(CET) Status: PASS - please verify no corrected errors2020/01/27-16:22:20(CET)</pre>
4,650
edits