没有scaling_max_freq sys文件

没有scaling_max_freq sys文件

我检查了我的 Linux sys 文件,没有:

/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

我的内核配置没有 CONFIG_X86_INTEL_PSTATE,并且它仍然没有使用 acpi-cpufreq 驱动程序。

这里的sys文件只在intel_pstate启用时创建?

我使用的是 yocto 环境,而不是 CentOS 或 Ubuntu。

答案1

简短回答 该路径不会在您的系统上显示的原因是 cpufreq 驱动程序未加载。该驱动程序在 sysfs 中创建 /sys/devices/system/cpu/cpuY/cpufreq 并用值填充它。当尝试在没有 CONFIG_X86_INTEL_PSTATE 的情况下编译内核时,pcc_freq 和 acpi_freq 驱动程序编译先决条件会强制启用它,因此我想您必须设置它才能编译驱动程序。

更多细节 查看drivers/cpufreq/下的内核代码,我们可以看到sysfs中的scaling_max_freq条目是由cpufreq.c定义和维护的。有两个驱动程序实现 cpufreq 功能 -pcc_cpufreqacpi_cpufreq。为了初始化路径,必须加载 cpufreq 驱动程序之一。

内核配置中的相关字段:

#
# CPU frequency scaling drivers
#
CONFIG_X86_INTEL_PSTATE=y
CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_ACPI_CPUFREQ=m

检查您的系统pcc_cpufreq司机。如果可用,您应该使用 cpufreq 路径而不加载acpi_cpufreq,但由于您说 CONFIG_X86_INTEL_PSTATE 未在内核配置文件中设置,因此您可能会丢失所有 cpufreq 驱动程序。

希望这可以帮助。

相关内容