One step further: benchmarks at the four different DRAM clockspeeds finished (somewhat similar to how I did it with RK3588). I had to start from scratch again since with full desktop there always was too much background activity. One systemctl set-default multi-user.target ; reboot
later and after setting echo performance >/sys/devices/platform/dmc/devfreq/dmc/governor
to ensure we’re staying always at the same DRAM clockspeed it looks like this:
DRAM |
7-zip single |
7-zip multi |
memcpy |
memset |
4M ns |
64M ns |
Geekbench |
328 MHz |
1510 |
5240 |
1490 |
3762 |
205.7/289.8 |
280.0/361.1 |
257/615 |
416 MHz |
1566 |
5530 |
1924 |
4610 |
188.7/258.2 |
255.0/324.0 |
265/670 |
666 MHz |
1681 |
6190 |
2931 |
7075 |
148.1/199.4 |
205.6/255.0 |
286/769 |
856 MHz |
1715 |
6360 |
3456 |
8357 |
139.7/187.3 |
194.7/237.9 |
292/800 |
Attention: with DRAM clockspeed at 666 MHz and 856 MHz the Geekbench tests triggered some little throttling but nothing that significant to invalidate the result. Full test output with all links in [1].
The link in the most left column is regular sbc-bench result while the link on the right is Geekbench 5.5.1 always in comparison mode to lowest DRAM clock. I personally hate Geekbench combined scores (since soooo useless) and Geekbench in general but consumers and also reviewers love those so ‘being on the wrong DRAM frequency while benchmarking’ can result with a drop in Geekbench combined scores of almost 15% with the single tests and ~30% with multi.
When we compare 328 MHz vs. 856 MHz https://browser.geekbench.com/v5/cpu/compare/20608717?baseline=20603273 and look through the individual results we have to come to the conclusion that these numbers are garbage anyway. The AES-XT single score differs by 5% while multi differs by 117% when we compare lowest with highest DRAM clockspeed. Which of course makes no sense whatsoever. Since Geekbench is closed source we’ll never know what it actually does but these numbers tell us the golden rule of passive kitchen-sink benchmarking applies here too:
You benchmark A, but actually measure B, and conclude you’ve measured C.
Another very interesting observation is the memset
scores being all four times higher when benchmarking the A53 compared to the A72. Also makes not that much sense but @willy also observed this in the past and IIRC came to the conclusion the RK3399 memory controller needing at least one A53 busy at the same time to run with the A72 at full performance.
Now measuring idle consumption with my NetIO powermeter (at the wall that means all losses by cable and RPi USB-C power brick included): Netio=192.168.83.72/2 sbc-bench.sh -g
- at 328 MHz we have
Idle temperature: 23.3°C, idle consumption: 1910mW
- at 856 MHz we’re at
Idle temperature: 26.2°C, idle consumption: 2400mW
That’s a 0.5W idle consumption difference and as such significant.
Next step is fiddling around with uptreshold
now that we are convinced the energy savings are worth the efforts…
[1] Full output of testings:
root@rock-pi-4a:~# for RAMClock in $(< /sys/devices/platform/dmc/devfreq/dmc/available_frequencies) ; do echo ${RAMClock} >/sys/devices/platform/dmc/devfreq/dmc/max_freq; Netio=192.168.83.72/2 MODE=unattended sbc-bench.sh -G; Netio=192.168.83.72/2 MODE=unattended sbc-bench.sh; done
Status of performance related governors found below /sys (w/o cpufreq):
dmc: performance / 328 MHz (performance dmc_ondemand simple_ondemand)
ff9a0000.gpu: simple_ondemand / 200 MHz (performance dmc_ondemand simple_ondemand)
sbc-bench v0.9.19 taking care of Geekbench
Installing needed tools: Done.
Checking cpufreq OPP. Done.
Executing RAM latency tester. Done.
Executing Geekbench. Done.
Checking cpufreq OPP again. Done (44 minutes elapsed).
ATTENTION: Throttling might have occured on CPUs 4-5 (Cortex-A72). Check the log for details.
Scores not valid. Throttling occured and/or too much background activity.
Full results uploaded to http://ix.io/4o28. Please check the log for anomalies (e.g. swapping
or throttling happenend).
Average load and/or CPU utilization too high (too much background activity). Waiting...
Too busy for benchmarking: 14:35:30 up 55 min, 1 user, load average: 3.17, 3.82, 3.18, cpu: 63%
Too busy for benchmarking: 14:35:35 up 55 min, 1 user, load average: 2.92, 3.76, 3.16, cpu: 0%
Too busy for benchmarking: 14:35:40 up 55 min, 1 user, load average: 2.68, 3.70, 3.14, cpu: 0%
Too busy for benchmarking: 14:35:45 up 55 min, 1 user, load average: 2.47, 3.64, 3.12, cpu: 0%
Too busy for benchmarking: 14:35:50 up 55 min, 1 user, load average: 2.27, 3.58, 3.11, cpu: 0%
Too busy for benchmarking: 14:35:55 up 55 min, 1 user, load average: 2.09, 3.52, 3.09, cpu: 0%
Too busy for benchmarking: 14:36:00 up 55 min, 1 user, load average: 1.92, 3.46, 3.07, cpu: 0%
Status of performance related governors found below /sys (w/o cpufreq):
dmc: performance / 328 MHz (performance dmc_ondemand simple_ondemand)
ff9a0000.gpu: simple_ondemand / 200 MHz (performance dmc_ondemand simple_ondemand)
sbc-bench v0.9.19
Installing needed tools: Done.
Checking cpufreq OPP. Done (results will be available in 13-19 minutes).
Executing tinymembench. Done.
Executing RAM latency tester. Done.
Executing OpenSSL benchmark. Done.
Executing 7-zip benchmark. Done.
Checking cpufreq OPP again. Done (19 minutes elapsed).
Memory performance (all 2 CPU clusters measured individually):
memcpy: : 983.6 MB/s (Cortex-A53)
memset: : 4270.0 MB/s (Cortex-A53)
memcpy: : 1489.5 MB/s (Cortex-A72)
memset: : 3761.5 MB/s (Cortex-A72)
7-zip total scores (3 consecutive runs): 5238,5234,5243, single-threaded: 1510
OpenSSL results (all 2 CPU clusters measured individually):
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
aes-128-cbc 91606.16k 292053.16k 624336.81k 910605.99k 1050296.32k 1059334.83k (Cortex-A53)
aes-128-cbc 322716.01k 759075.86k 1134594.99k 1274997.42k 1346920.45k 1352073.22k (Cortex-A72)
aes-192-cbc 87847.33k 264550.10k 521214.55k 709013.50k 791745.88k 797529.43k (Cortex-A53)
aes-192-cbc 302335.61k 695754.67k 961834.92k 1128278.02k 1184470.36k 1189691.39k (Cortex-A72)
aes-256-cbc 85831.29k 246778.69k 457563.73k 596390.91k 654319.62k 654366.04k (Cortex-A53)
aes-256-cbc 293114.35k 638501.33k 890982.91k 974229.85k 1019292.33k 1018833.58k (Cortex-A72)
Full results uploaded to http://ix.io/4o2g
Average load and/or CPU utilization too high (too much background activity). Waiting...
Too busy for benchmarking: 14:54:40 up 1:14, 1 user, load average: 5.34, 5.20, 3.71, cpu: 55%
Too busy for benchmarking: 14:54:45 up 1:14, 1 user, load average: 4.91, 5.11, 3.69, cpu: 0%
Too busy for benchmarking: 14:54:50 up 1:14, 1 user, load average: 4.52, 5.03, 3.67, cpu: 0%
Too busy for benchmarking: 14:54:55 up 1:14, 1 user, load average: 4.16, 4.94, 3.65, cpu: 0%
Too busy for benchmarking: 14:55:00 up 1:14, 1 user, load average: 3.82, 4.86, 3.63, cpu: 0%
Too busy for benchmarking: 14:55:05 up 1:15, 1 user, load average: 3.52, 4.78, 3.61, cpu: 0%
Too busy for benchmarking: 14:55:10 up 1:15, 1 user, load average: 3.24, 4.70, 3.59, cpu: 0%
Status of performance related governors found below /sys (w/o cpufreq):
dmc: performance / 416 MHz (performance dmc_ondemand simple_ondemand)
ff9a0000.gpu: simple_ondemand / 200 MHz (performance dmc_ondemand simple_ondemand)
sbc-bench v0.9.19 taking care of Geekbench
Installing needed tools: Done.
Checking cpufreq OPP. Done.
Executing RAM latency tester. Done.
Executing Geekbench. Done.
Checking cpufreq OPP again. Done (41 minutes elapsed).
ATTENTION: Throttling might have occured on CPUs 4-5 (Cortex-A72). Check the log for details.
Scores not valid. Throttling occured and/or too much background activity.
Full results uploaded to http://ix.io/4o2M. Please check the log for anomalies (e.g. swapping
or throttling happenend).
Average load and/or CPU utilization too high (too much background activity). Waiting...
Too busy for benchmarking: 15:36:07 up 1:56, 1 user, load average: 3.40, 3.69, 3.26, cpu: 81%
Too busy for benchmarking: 15:36:12 up 1:56, 1 user, load average: 3.13, 3.63, 3.24, cpu: 0%
Too busy for benchmarking: 15:36:17 up 1:56, 1 user, load average: 2.72, 3.53, 3.21, cpu: 0%
Too busy for benchmarking: 15:36:22 up 1:56, 1 user, load average: 2.50, 3.47, 3.19, cpu: 0%
Too busy for benchmarking: 15:36:27 up 1:56, 1 user, load average: 2.30, 3.41, 3.17, cpu: 0%
Too busy for benchmarking: 15:36:32 up 1:56, 1 user, load average: 2.12, 3.36, 3.16, cpu: 0%
Too busy for benchmarking: 15:36:37 up 1:56, 1 user, load average: 1.95, 3.30, 3.14, cpu: 0%
Status of performance related governors found below /sys (w/o cpufreq):
dmc: performance / 416 MHz (performance dmc_ondemand simple_ondemand)
ff9a0000.gpu: simple_ondemand / 200 MHz (performance dmc_ondemand simple_ondemand)
sbc-bench v0.9.19
Installing needed tools: Done.
Checking cpufreq OPP. Done (results will be available in 13-19 minutes).
Executing tinymembench. Done.
Executing RAM latency tester. Done.
Executing OpenSSL benchmark. Done.
Executing 7-zip benchmark. Done.
Checking cpufreq OPP again. Done (18 minutes elapsed).
Memory performance (all 2 CPU clusters measured individually):
memcpy: : 1142.2 MB/s (Cortex-A53)
memset: : 5225.6 MB/s (Cortex-A53)
memcpy: : 1923.8 MB/s (Cortex-A72)
memset: : 4609.1 MB/s (Cortex-A72)
7-zip total scores (3 consecutive runs): 5541,5527,5530, single-threaded: 1566
OpenSSL results (all 2 CPU clusters measured individually):
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
aes-128-cbc 91691.65k 292048.45k 624245.76k 910673.92k 1050741.42k 1060596.39k (Cortex-A53)
aes-128-cbc 322618.94k 759185.47k 1134807.30k 1275786.58k 1343362.39k 1348375.89k (Cortex-A72)
aes-192-cbc 87838.07k 264344.00k 521245.78k 709337.77k 791860.57k 798294.02k (Cortex-A53)
aes-192-cbc 302435.41k 696013.38k 968719.87k 1130672.47k 1180095.83k 1188440.75k (Cortex-A72)
aes-256-cbc 85825.19k 246334.10k 457761.02k 596491.61k 654494.38k 658724.18k (Cortex-A53)
aes-256-cbc 293093.83k 638400.28k 890970.62k 977024.34k 1019947.69k 1018473.13k (Cortex-A72)
Full results uploaded to http://ix.io/4o2U
Average load and/or CPU utilization too high (too much background activity). Waiting...
Too busy for benchmarking: 15:54:31 up 2:14, 1 user, load average: 5.03, 4.86, 3.52, cpu: 70%
Too busy for benchmarking: 15:54:36 up 2:14, 1 user, load average: 4.62, 4.78, 3.50, cpu: 0%
Too busy for benchmarking: 15:54:41 up 2:14, 1 user, load average: 4.25, 4.70, 3.48, cpu: 0%
Too busy for benchmarking: 15:54:46 up 2:14, 1 user, load average: 3.91, 4.62, 3.47, cpu: 0%
Too busy for benchmarking: 15:54:51 up 2:14, 1 user, load average: 3.60, 4.54, 3.45, cpu: 0%
Too busy for benchmarking: 15:54:56 up 2:14, 1 user, load average: 3.31, 4.47, 3.43, cpu: 0%
Too busy for benchmarking: 15:55:01 up 2:14, 1 user, load average: 3.04, 4.39, 3.41, cpu: 0%
Status of performance related governors found below /sys (w/o cpufreq):
dmc: performance / 666 MHz (performance dmc_ondemand simple_ondemand)
ff9a0000.gpu: simple_ondemand / 200 MHz (performance dmc_ondemand simple_ondemand)
sbc-bench v0.9.19 taking care of Geekbench
Installing needed tools: Done.
Checking cpufreq OPP. Done.
Executing RAM latency tester. Done.
Executing Geekbench. Done.
Checking cpufreq OPP again. Done (37 minutes elapsed).
ATTENTION: Throttling might have occured on CPUs 4-5 (Cortex-A72). Check the log for details.
Scores not valid. Throttling occured and/or too much background activity.
Full results uploaded to http://ix.io/4o3g. Please check the log for anomalies (e.g. swapping
or throttling happenend).
Average load and/or CPU utilization too high (too much background activity). Waiting...
Too busy for benchmarking: 16:31:55 up 2:51, 1 user, load average: 3.22, 3.49, 3.05, cpu: 87%
Too busy for benchmarking: 16:32:00 up 2:51, 1 user, load average: 2.97, 3.44, 3.03, cpu: 0%
Too busy for benchmarking: 16:32:05 up 2:52, 1 user, load average: 2.73, 3.38, 3.02, cpu: 0%
Too busy for benchmarking: 16:32:10 up 2:52, 1 user, load average: 2.51, 3.32, 3.00, cpu: 0%
Too busy for benchmarking: 16:32:15 up 2:52, 1 user, load average: 2.31, 3.27, 2.98, cpu: 0%
Too busy for benchmarking: 16:32:20 up 2:52, 1 user, load average: 2.12, 3.21, 2.97, cpu: 0%
Too busy for benchmarking: 16:32:25 up 2:52, 1 user, load average: 1.95, 3.16, 2.95, cpu: 0%
Status of performance related governors found below /sys (w/o cpufreq):
dmc: performance / 666 MHz (performance dmc_ondemand simple_ondemand)
ff9a0000.gpu: simple_ondemand / 200 MHz (performance dmc_ondemand simple_ondemand)
sbc-bench v0.9.19
Installing needed tools: Done.
Checking cpufreq OPP. Done (results will be available in 13-19 minutes).
Executing tinymembench. Done.
Executing RAM latency tester. Done.
Executing OpenSSL benchmark. Done.
Executing 7-zip benchmark. Done.
Checking cpufreq OPP again. Done (17 minutes elapsed).
Memory performance (all 2 CPU clusters measured individually):
memcpy: : 1564.8 MB/s (Cortex-A53)
memset: : 7424.0 MB/s (Cortex-A53)
memcpy: : 2931.3 MB/s (Cortex-A72)
memset: : 7075.4 MB/s (Cortex-A72)
7-zip total scores (3 consecutive runs): 6173,6174,6213, single-threaded: 1681
OpenSSL results (all 2 CPU clusters measured individually):
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
aes-128-cbc 91780.68k 292112.66k 624614.40k 910882.13k 1050907.99k 1061792.43k (Cortex-A53)
aes-128-cbc 277549.83k 707053.50k 1102535.17k 1258137.94k 1344798.72k 1347081.56k (Cortex-A72)
aes-192-cbc 87396.49k 263418.86k 520020.39k 708818.60k 791751.34k 798031.87k (Cortex-A53)
aes-192-cbc 302496.07k 696039.13k 967566.25k 1130389.50k 1183959.72k 1185824.77k (Cortex-A72)
aes-256-cbc 85863.56k 247107.80k 457826.22k 596919.30k 654800.21k 657812.14k (Cortex-A53)
aes-256-cbc 292824.94k 638654.87k 891191.98k 977772.89k 1019942.23k 1016758.27k (Cortex-A72)
Full results uploaded to http://ix.io/4o3v
Average load and/or CPU utilization too high (too much background activity). Waiting...
Too busy for benchmarking: 16:48:48 up 3:08, 1 user, load average: 4.65, 4.34, 3.19, cpu: 78%
Too busy for benchmarking: 16:48:53 up 3:08, 1 user, load average: 4.28, 4.27, 3.17, cpu: 0%
Too busy for benchmarking: 16:48:58 up 3:08, 1 user, load average: 3.94, 4.20, 3.15, cpu: 0%
Too busy for benchmarking: 16:49:03 up 3:09, 1 user, load average: 3.62, 4.13, 3.13, cpu: 0%
Too busy for benchmarking: 16:49:08 up 3:09, 1 user, load average: 3.33, 4.06, 3.12, cpu: 0%
Too busy for benchmarking: 16:49:13 up 3:09, 1 user, load average: 3.06, 3.99, 3.10, cpu: 0%
Too busy for benchmarking: 16:49:19 up 3:09, 1 user, load average: 2.82, 3.92, 3.08, cpu: 0%
Status of performance related governors found below /sys (w/o cpufreq):
dmc: performance / 856 MHz (performance dmc_ondemand simple_ondemand)
ff9a0000.gpu: simple_ondemand / 200 MHz (performance dmc_ondemand simple_ondemand)
sbc-bench v0.9.19 taking care of Geekbench
Installing needed tools: Done.
Checking cpufreq OPP. Done.
Executing RAM latency tester. Done.
Executing Geekbench. Done.
Checking cpufreq OPP again. Done (36 minutes elapsed).
ATTENTION: Throttling might have occured on CPUs 4-5 (Cortex-A72). Check the log for details.
Scores not valid. Throttling occured and/or too much background activity.
Full results uploaded to http://ix.io/4o3W. Please check the log for anomalies (e.g. swapping
or throttling happenend).
Average load and/or CPU utilization too high (too much background activity). Waiting...
Too busy for benchmarking: 17:25:00 up 3:44, 1 user, load average: 2.95, 3.31, 2.97, cpu: 90%
Too busy for benchmarking: 17:25:05 up 3:45, 1 user, load average: 2.71, 3.26, 2.95, cpu: 0%
Too busy for benchmarking: 17:25:11 up 3:45, 1 user, load average: 2.66, 3.23, 2.95, cpu: 0%
Too busy for benchmarking: 17:25:16 up 3:45, 1 user, load average: 2.44, 3.18, 2.93, cpu: 0%
Too busy for benchmarking: 17:25:21 up 3:45, 1 user, load average: 2.25, 3.13, 2.92, cpu: 0%
Too busy for benchmarking: 17:25:26 up 3:45, 1 user, load average: 2.07, 3.08, 2.90, cpu: 0%
Too busy for benchmarking: 17:25:31 up 3:45, 1 user, load average: 1.90, 3.02, 2.88, cpu: 0%
Status of performance related governors found below /sys (w/o cpufreq):
dmc: performance / 856 MHz (performance dmc_ondemand simple_ondemand)
ff9a0000.gpu: simple_ondemand / 200 MHz (performance dmc_ondemand simple_ondemand)
sbc-bench v0.9.19
Installing needed tools: Done.
Checking cpufreq OPP. Done (results will be available in 13-19 minutes).
Executing tinymembench. Done.
Executing RAM latency tester. Done.
Executing OpenSSL benchmark. Done.
Executing 7-zip benchmark. Done.
Checking cpufreq OPP again. Done (16 minutes elapsed).
Memory performance (all 2 CPU clusters measured individually):
memcpy: : 1773.0 MB/s (Cortex-A53)
memset: : 8405.7 MB/s (Cortex-A53)
memcpy: : 3455.5 MB/s (Cortex-A72)
memset: : 8356.9 MB/s (Cortex-A72)
7-zip total scores (3 consecutive runs): 6382,6334,6351, single-threaded: 1715
OpenSSL results (all 2 CPU clusters measured individually):
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
aes-128-cbc 91782.10k 292124.25k 624542.55k 910899.20k 1050962.60k 1061797.89k (Cortex-A53)
aes-128-cbc 277560.58k 707125.76k 1102400.60k 1263162.03k 1346205.01k 1345798.14k (Cortex-A72)
aes-192-cbc 87856.03k 264469.21k 521433.09k 709458.26k 792488.62k 798823.77k (Cortex-A53)
aes-192-cbc 302425.07k 683676.31k 961968.90k 1128577.37k 1188350.63k 1190193.83k (Cortex-A72)
aes-256-cbc 85877.07k 247073.58k 457931.61k 597041.83k 654731.95k 658314.58k (Cortex-A53)
aes-256-cbc 293192.91k 638598.36k 891142.83k 977415.85k 1020065.11k 1020477.44k (Cortex-A72)
Full results uploaded to http://ix.io/4o44