![Es gibt keine scaling_max_freq-Sysdatei](https://rvso.com/image/170269/Es%20gibt%20keine%20scaling_max_freq-Sysdatei.png)
Ich habe meine Linux-Systemdatei geprüft. Folgendes fehlt:
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
Meine Kernelkonfiguration hat kein CONFIG_X86_INTEL_PSTATE und hat immer noch nicht den acpi-cpufreq-Treiber verwendet.
Wird die Sys-Datei hier nur erstellt, wenn intel_pstate aktiviert ist?
Ich verwende die Yocto-Umgebung, nicht CentOS oder Ubuntu.
Antwort1
Kurze Antwort Der Grund, warum der Pfad auf Ihrem System nicht angezeigt wird, ist, dass der cpufreq-Treiber nicht geladen ist. Dieser Treiber erstellt /sys/devices/system/cpu/cpuY/cpufreq in sysfs und füllt es mit Werten. Wenn Sie versuchen, den Kernel ohne CONFIG_X86_INTEL_PSTATE zu kompilieren, wird seine Aktivierung durch die Kompilierungsvoraussetzungen der Treiber pcc_freq und acpi_freq erzwungen. Ich nehme also an, dass Sie ihn festlegen müssen, um den Treiber zu kompilieren.
Mehr Details Wenn wir uns den Kernel-Code unter drivers/cpufreq/ ansehen, können wir sehen, dass der Eintrag scaling_max_freq in sysfs von cpufreq.c definiert und verwaltet wird. Es gibt zwei Treiber, die die cpufreq-Funktionalität implementieren -pcc_cpufreqUndacpi_cpufreqDamit der Pfad initialisiert werden kann, muss einer der cpufreq-Treiber geladen werden.
Relevante Felder in der Kernelkonfiguration:
#
# CPU frequency scaling drivers
#
CONFIG_X86_INTEL_PSTATE=y
CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_ACPI_CPUFREQ=m
Überprüfen Sie Ihr System aufpcc_cpufreqTreiber. Wenn dieser verfügbar ist, sollten Sie den Pfad cpufreq verwenden, ohne ihn zu laden.acpi_cpufreq, aber da Sie sagten, dass CONFIG_X86_INTEL_PSTATE in Ihrer Kernelkonfigurationsdatei nicht festgelegt ist, fehlen Ihnen möglicherweise alle cpufreq-Treiber.
Hoffe das hilft.