Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Radxa Orion O6



The interface was showing the raw performacne unit values reported by firmware. I've changed it to scale those to/from frequency based on (optional) values reported by the Lowest Frequency and Nominal Frequency registers. Now you will get output like below.

Note that the maximum reported values are not the same for all "big" and "mid" cores. Is this intentional?

orion$ sysctl machdep.cpufreq
machdep.cpufreq.cpu0.target = 1800
machdep.cpufreq.cpu0.current = 1800
machdep.cpufreq.cpu0.available = 2500 800
machdep.cpufreq.cpu1.target = 1800
machdep.cpufreq.cpu1.current = 1800
machdep.cpufreq.cpu1.available = 1800 800
machdep.cpufreq.cpu2.target = 1800
machdep.cpufreq.cpu2.current = 1800
machdep.cpufreq.cpu2.available = 1800 800
machdep.cpufreq.cpu3.target = 1800
machdep.cpufreq.cpu3.current = 1800
machdep.cpufreq.cpu3.available = 1800 800
machdep.cpufreq.cpu4.target = 1800
machdep.cpufreq.cpu4.current = 1800
machdep.cpufreq.cpu4.available = 1800 800
machdep.cpufreq.cpu5.target = 1800
machdep.cpufreq.cpu5.current = 1800
machdep.cpufreq.cpu5.available = 2300 800
machdep.cpufreq.cpu6.target = 1800
machdep.cpufreq.cpu6.current = 1800
machdep.cpufreq.cpu6.available = 2300 800
machdep.cpufreq.cpu7.target = 1801
machdep.cpufreq.cpu7.current = 1801
machdep.cpufreq.cpu7.available = 2200 800
machdep.cpufreq.cpu8.target = 1801
machdep.cpufreq.cpu8.current = 1801
machdep.cpufreq.cpu8.available = 2200 800
machdep.cpufreq.cpu9.target = 1800
machdep.cpufreq.cpu9.current = 1800
machdep.cpufreq.cpu9.available = 2400 800
machdep.cpufreq.cpu10.target = 1800
machdep.cpufreq.cpu10.current = 1800
machdep.cpufreq.cpu10.available = 2400 800
machdep.cpufreq.cpu11.target = 1800
machdep.cpufreq.cpu11.current = 1800
machdep.cpufreq.cpu11.available = 2500 800




On Thu, 23 Jan 2025, FUKAUMI Naoki wrote:

About CPU frequency,

machdep.cpufreq is available, but it seems odd:

# sysctl machdep.cpufreq
machdep.cpufreq.cpu0.target = 5898
machdep.cpufreq.cpu0.current = 5898
machdep.cpufreq.cpu0.available = 8192 2621

# openssl speed aes-256-cbc 2> /dev/null | tail -1
aes-256-cbc 738556.94k 937067.21k 996297.31k 1007614.30k 1009975.62k 1010147.08k

# sysctl -w machdep.cpufreq.cpu0.target=2621
machdep.cpufreq.cpu0.target: 5898 -> 2621
# openssl speed aes-256-cbc 2> /dev/null | tail -1
aes-256-cbc 328715.25k 416477.55k 442692.12k 446807.99k 449967.45k 448774.63k

# sysctl -w machdep.cpufreq.cpu0.target=8192
machdep.cpufreq.cpu0.target: 2621 -> 8192
# openssl speed aes-256-cbc 2> /dev/null | tail -1
aes-256-cbc 1026106.38k 1301582.42k 1383831.73k 1399466.44k 1400752.81k 1403052.82k

it seems
2621: 800MHz (2621*10000/32768MHz)
5898: 1.8GHz (5898*10000/32768MHz)
8192: 2.5GHz (8192*10000/32768MHz)


Below is information about cpufreq for Linux (ACPI).

$ ls
boost  policy0  policy1  policy5  policy7  policy9
$ cat policy?/affected_cpus
0 11
1 2 3 4
5 6
7 8
9 10

#  cpu#    core#  : My guess
#  cpu0    core10 : big
#  cpu1-4  core0-3: lit
#  cpu5-8  core4-7: mid
#  cpu9-10 core8-9: big
#  cpu11   core11 : big

$ cat policy?/scaling_max_freq
2500000
1800000
2300000
2200000
2400000
$ i=0; while [ $i -lt 12 ]; do taskset -c $i openssl speed aes-256-cbc 2> /dev/null | tail -1; i=$((i+1)); done aes-256-cbc 768191.62k 1238841.62k 1368941.59k 1393525.76k 1401536.51k 1402322.94k aes-256-cbc 146726.51k 318507.19k 450908.21k 503286.41k 520959.14k 520219.31k aes-256-cbc 146661.67k 318549.40k 450976.79k 501633.37k 520967.36k 522003.01k aes-256-cbc 146682.93k 318521.56k 449474.90k 503246.34k 520956.40k 521986.57k aes-256-cbc 146661.88k 318479.07k 450677.30k 503208.33k 520879.69k 521926.29k aes-256-cbc 705901.15k 1130593.24k 1252619.78k 1285611.79k 1289494.53k 1290048.85k aes-256-cbc 705389.81k 1132025.75k 1252733.10k 1285599.46k 1289499.99k 1290016.09k aes-256-cbc 675272.50k 1082396.80k 1198085.97k 1229700.71k 1233425.75k 1233939.11k aes-256-cbc 676121.08k 1082715.95k 1201655.35k 1225589.42k 1233417.56k 1233933.65k aes-256-cbc 739871.85k 1189212.65k 1309772.37k 1337832.45k 1345519.62k 1346267.82k aes-256-cbc 738046.04k 1189132.95k 1309929.56k 1342307.83k 1345530.54k 1346273.28k aes-256-cbc 768548.89k 1238815.06k 1364581.63k 1398357.62k 1401607.51k 1402399.40k

$ cat policy?/scaling_max_freq
800000
800000
800000
800000
800000
$ i=0; while [ $i -lt 12 ]; do taskset -c $i openssl speed aes-256-cbc 2> /dev/null | tail -1; i=$((i+1)); done aes-256-cbc 245431.36k 397451.15k 436316.16k 445638.66k 449661.35k 448413.70k aes-256-cbc 65056.21k 141270.86k 200673.33k 223922.34k 231000.70k 232196.47k aes-256-cbc 65234.86k 141232.44k 200611.05k 223137.48k 231715.39k 231348.66k aes-256-cbc 65029.04k 141654.31k 199914.60k 223847.77k 230932.21k 232135.99k aes-256-cbc 65033.16k 141677.90k 199926.41k 223887.29k 231737.39k 231376.05k aes-256-cbc 245261.82k 394392.64k 435291.99k 445318.83k 449661.35k 448370.01k aes-256-cbc 245201.47k 393567.87k 436665.19k 445318.14k 448151.55k 449831.21k aes-256-cbc 245625.21k 395064.51k 435282.01k 445314.73k 449669.57k 448359.08k aes-256-cbc 245178.20k 394719.19k 435258.45k 445308.59k 449647.65k 448337.24k aes-256-cbc 245660.55k 397384.63k 436276.31k 445598.38k 449642.17k 448380.93k aes-256-cbc 245626.25k 396094.04k 437699.90k 445597.35k 448173.40k 449918.89k aes-256-cbc 246568.38k 396150.85k 437740.74k 445612.71k 448157.01k 449902.45k

$ cat policy?/scaling_max_freq
1800000
1800000
1800000
1800000
1800000
$ i=0; while [ $i -lt 12 ]; do taskset -c $i openssl speed aes-256-cbc 2> /dev/null | tail -1; i=$((i+1)); done aes-256-cbc 552575.39k 894847.98k 982395.65k 1003268.10k 1008964.95k 1009451.01k aes-256-cbc 146698.40k 317453.63k 450901.28k 503192.23k 520898.87k 521827.66k aes-256-cbc 146658.16k 318615.63k 450943.66k 501585.24k 520882.43k 521805.74k aes-256-cbc 146687.99k 318486.09k 450938.95k 501529.60k 520898.87k 521882.46k aes-256-cbc 146677.12k 318474.81k 449393.07k 503202.85k 520896.13k 521948.21k aes-256-cbc 554925.99k 885799.59k 979905.62k 1002591.23k 1009016.83k 1012832.58k aes-256-cbc 552346.11k 885587.26k 983388.04k 1002622.63k 1009022.29k 1009440.09k aes-256-cbc 554113.61k 883601.00k 979817.98k 1002566.66k 1008978.60k 1012772.30k aes-256-cbc 552126.49k 885761.15k 983083.41k 1002620.25k 1009000.45k 1009445.55k aes-256-cbc 554740.52k 891779.03k 982270.04k 1003201.19k 1008975.87k 1009532.93k aes-256-cbc 553320.14k 891745.34k 985468.83k 1003236.35k 1008992.26k 1009543.85k aes-256-cbc 554808.47k 891796.59k 982230.02k 1003227.82k 1008970.41k 1009543.85k

Best regards,

--
FUKAUMI Naoki
Radxa Computer (Shenzhen) Co., Ltd.





Home | Main Index | Thread Index | Old Index