Re: Radxa Orion O6

Jared McNeill <[email protected]>
Newsgroups gmane.os.netbsd.ports.arm
Message-ID <BYAPR14MB2632C215DCCDA19BE46ED0EBFAE82@BYAPR14MB2632.namprd14.prod.outlook.com>
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.
>
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.