Es gibt keine scaling_max_freq-Sysdatei

Es gibt keine scaling_max_freq-Sysdatei

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.

verwandte Informationen