Temat: FriendlyARM NanoPi NEO - Monitorowanie i sterowanie ustawieniami CPU
Platforma: FriendlyARM NanoPi NEO
System: OpenWRT 19.07.10
Cześć, chciałbym móc monitorować i zarządzać częstotliwościami na jakich pracuje CPU na NanoPi NEO. Zagadnienia mam następujące:
Monitorowanie CPU
Ustawianie częstotliwości z jaką ma pracować CPU
Zarządzanie scaling_governorami procesora
Ad 1. Próbuję użyć modułu collectd-mod-cpufreq, ale przy wyborze w menuconfig nie widać go. Z tego co zdążyłem znaleźć to nie zgadza mu się TARGET w DEPENDENCIES
Symbol: PACKAGE_collectd-mod-cpufreq [=n]
│ Type : tristate
│ Prompt: collectd-mod-cpufreq............................... CPU Freq input plugin
│ Location:
│ -> Utilities
│ (9) -> collectd................. Lightweight system statistics collection daemon (PACKAGE_collectd [=y])
│ Defined at tmp/.config-package.in:145935
│ Depends on: (TARGET_x86 [=n] || TARGET_x86_64 [=n] || TARGET_mvebu [=n] || TARGET_ipq806x [=n] || TARGET_armvirt [=n] || TARGET_ipq40xx [=n] || TARGET_brcm2708_bcm2709 [=n]) && PACKAGE_collectd [=y]
│ Selects: PACKAGE_librt [=y] && PACKAGE_libpthread [=y] && PACKAGE_libssp [=n] && PACKAGE_libc [=y] Czy jest jakaś możliwość dołączenia tego modułu do budowanego obrazu? Czy może użyć innego narzędzia do tego?
Ad 2. Czy jest jakieś miejsce/plik w którym mógłbym na sztywno ustalić częstotliwość pracy CPU?
Ad 3. Odnalazłem miejsce gdzie odblokowuje się governory w kernel_menuconfig, ustawienia mam następujące:
[*] CPU Frequency scaling
[*] CPU frequency transition statistics
Default CPUFreq governor (performance) --->
-*- 'performance' governor
<*> 'powersave' governor
<*> 'userspace' governor for userspace frequency scaling
<*> 'ondemand' cpufreq policy governor
<*> 'conservative' cpufreq governor
[ ] 'schedutil' cpufreq policy governor
*** CPU frequency scaling drivers ***
<*> Generic DT based cpufreq driver
<*> Generic ARM big LITTLE CPUfreq driver
<*> Generic probing via DT for ARM big LITTLE CPUfreq driver
< > CPU frequency scaling driver for Freescale QorIQ SoCs Natomiast nie widzę w wypalonym systemie plików odpowiedzialnych za governory (jak niżej). Czego jeszcze może tu brakować?
root@OpenWrt:/# ls -al /sys/devices/system/cpu/cpufreq/
drwxr-xr-x 2 root root 0 Apr 16 15:19 .
drwxr-xr-x 10 root root 0 Jan 1 1970 ..
root@OpenWrt:/# ls -al /sys/devices/system/cpu/cpu*
/sys/devices/system/cpu/cpu0:
drwxr-xr-x 5 root root 0 Jan 1 1970 .
drwxr-xr-x 10 root root 0 Jan 1 1970 ..
-rw-r--r-- 1 root root 4096 Apr 16 15:19 cpu_capacity
-r-------- 1 root root 4096 Apr 16 15:19 crash_notes
-r-------- 1 root root 4096 Apr 16 15:19 crash_notes_size
drwxr-xr-x 2 root root 0 Apr 16 15:19 hotplug
lrwxrwxrwx 1 root root 0 Apr 16 15:19 of_node -> ../../../../firmware/devicetree/base/cpus/cpu@0
drwxr-xr-x 2 root root 0 Apr 16 15:19 power
lrwxrwxrwx 1 root root 0 Apr 16 15:19 subsystem -> ../../../../bus/cpu
drwxr-xr-x 2 root root 0 Apr 16 15:19 topology
-rw-r--r-- 1 root root 4096 Apr 16 15:19 uevent
/sys/devices/system/cpu/cpu1:
drwxr-xr-x 5 root root 0 Jan 1 1970 .
drwxr-xr-x 10 root root 0 Jan 1 1970 ..
-rw-r--r-- 1 root root 4096 Apr 16 15:19 cpu_capacity
-r-------- 1 root root 4096 Apr 16 15:19 crash_notes
-r-------- 1 root root 4096 Apr 16 15:19 crash_notes_size
drwxr-xr-x 2 root root 0 Apr 16 15:19 hotplug
lrwxrwxrwx 1 root root 0 Apr 16 15:19 of_node -> ../../../../firmware/devicetree/base/cpus/cpu@1
-rw-r--r-- 1 root root 4096 Apr 16 15:19 online
drwxr-xr-x 2 root root 0 Apr 16 15:19 power
lrwxrwxrwx 1 root root 0 Apr 16 15:19 subsystem -> ../../../../bus/cpu
drwxr-xr-x 2 root root 0 Apr 16 15:19 topology
-rw-r--r-- 1 root root 4096 Apr 16 15:19 uevent
/sys/devices/system/cpu/cpu2:
drwxr-xr-x 5 root root 0 Jan 1 1970 .
drwxr-xr-x 10 root root 0 Jan 1 1970 ..
-rw-r--r-- 1 root root 4096 Apr 16 15:19 cpu_capacity
-r-------- 1 root root 4096 Apr 16 15:19 crash_notes
-r-------- 1 root root 4096 Apr 16 15:19 crash_notes_size
drwxr-xr-x 2 root root 0 Apr 16 15:19 hotplug
lrwxrwxrwx 1 root root 0 Apr 16 15:19 of_node -> ../../../../firmware/devicetree/base/cpus/cpu@2
-rw-r--r-- 1 root root 4096 Apr 16 15:19 online
drwxr-xr-x 2 root root 0 Apr 16 15:19 power
lrwxrwxrwx 1 root root 0 Apr 16 15:19 subsystem -> ../../../../bus/cpu
drwxr-xr-x 2 root root 0 Apr 16 15:19 topology
-rw-r--r-- 1 root root 4096 Apr 16 15:19 uevent
/sys/devices/system/cpu/cpu3:
drwxr-xr-x 5 root root 0 Jan 1 1970 .
drwxr-xr-x 10 root root 0 Jan 1 1970 ..
-rw-r--r-- 1 root root 4096 Apr 16 15:19 cpu_capacity
-r-------- 1 root root 4096 Apr 16 15:19 crash_notes
-r-------- 1 root root 4096 Apr 16 15:19 crash_notes_size
drwxr-xr-x 2 root root 0 Apr 16 15:19 hotplug
lrwxrwxrwx 1 root root 0 Apr 16 15:19 of_node -> ../../../../firmware/devicetree/base/cpus/cpu@3
-rw-r--r-- 1 root root 4096 Apr 16 15:19 online
drwxr-xr-x 2 root root 0 Apr 16 15:19 power
lrwxrwxrwx 1 root root 0 Apr 16 15:19 subsystem -> ../../../../bus/cpu
drwxr-xr-x 2 root root 0 Apr 16 15:19 topology
-rw-r--r-- 1 root root 4096 Apr 16 15:19 uevent